Попытка получить несколько текстовых полей с веб-страницы, используя element.text - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь получить текст из поля заголовка на веб-странице.Тем не менее, поле, кажется, имеет два отдельных текстовых значения, а не одно.Когда я использую element.text для доступа к тексту, я получаю только первый бит текста, а не вторую часть, которая как раз и является той частью, которая мне интересна.

Я пытался использовать .textчтобы получить доступ к тексту.Использование get_attribute ('value') не работает и возвращает мне только 'None', что означает, что он не может найти соответствующий параметр.

Пример того, как выглядит элемент:

<h2 class="Some-Unique-Class">
"Validate Response:"
"Success"
</h2>

Я хочу видеть оба варианта: «Подтвердить ответ:» и «Успех», но я вижу «Подтверждать ответ» только при использовании метода .text, а не «Успех»part.

Сведения об окружающей среде: Selenium Webdriver;Python 3.5.2

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Возможно, это вопрос местоположения элемента или неуникального совпадения.

Например, если я использую следующий Селектор XPath :

//h2[@class='Some-Unique-Class']

Я получаю одинаковый «полный» текст для обоих:

0 голосов
/ 19 июня 2019

Не уверен, в чем проблема, но у меня сработала следующая строка:

from selenium.webdriver import Chrome
driver = Chrome()
dat = [your html string]

driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=dat))
elems = driver.find_elements_by_xpath("//h2")
for elem in elems:
    print(elem.text)

Вывод:

"Подтвердить ответ:" "Успех"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...