Я пытаюсь получить содержимое раздела заголовка моей страницы. Я использую селектор, который возвращает правильный узел дерева, и я могу пройти по нему и получить имена тегов/атрибуты, но все тексты кажутся пустыми.
Для HTML:
<head>
<script>alert("MSG")</script>
</head>
$("head").children()*.text() // all empty
assert $('head script').text() == "" // assert true, so apparently text() is empty.
assert $("head script").@innerHTML == 'alert("MSG")' // finally works
Я вижу текст в driver.pageSource
Нужно ли указывать какую-то опцию для разбора головы, или это совершенно невозможно?
РЕДАКТИРОВАТЬ: добавлен пример html и больше пояснений кода. Судя по всему @innerHTML works
, и насколько я понял это идет через метод WebDriver .getAttribute("innerHTML");
.
Для меня немного удивительно, почему метод text() не работает для головы. Итак, благодаря @jk47 мне удалось решить проблему и получить доступ к элементам, но вообще говоря, вопрос "почему я не могу получить доступ к элементам головы так же, как я могу получить доступ к элементам тела" все еще существует.