Извлечение текста из кнопки с помощью селена - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь использовать селен для извлечения текста на кнопке, но python возвращает только None

Я получил кнопку, используя button = browser.find_element_by_xpath("/html/body/div[3]/main/div[3]/div[3]/div/div/div/div/div/button")

text = button.get_attribute('text') (Кнопка отлично работает при использовании .click ())

Это код кнопки:

<button class=" btn  btn-primary stepbuttonnew" onclick="if (!window.__cfRLUnblockHandlers) return false; ok.performClick();gtag('config', 'UA-113527404-1', {'page_path': '/smth'});">
Text i want
</button>

Он должен возвращать «Текст, который я хочу»

Любая помощь оценен :)

Ответы [ 4 ]

0 голосов
/ 17 июня 2020

`с использованием атрибута innerText? много раз простой текст читается как null в Angular / React ui application ios, вы должны иметь возможность получить его, используя атрибут innerText, то есть text = button.get_attribute ('innertext')

0 голосов
/ 16 июня 2020

Свойство text элемента кнопки вернет текст.

button = browser.find_element_by_xpath("/html/body/div[3]/main/div[3]/div[3]/div/div/div/div/div/button")
buttonText = button.text
0 голосов
/ 17 июня 2020

Если обычный селен не работает, то я считаю, что JavaScript исполнитель сможет помочь вам получить желаемое значение. Если у вас нет предварительных знаний об этом, я рекомендую вам проверить это.

0 голосов
/ 16 июня 2020

Можете ли вы опубликовать страницу? Я бы посоветовал попробовать:

text = driver.find_element_by_xpath('XPATH').text
print(text)

Возможно, протестируйте find_element_by_class_name, если xpath не будет работать.

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