Python Селен Найти, если на странице существует элемент с атрибутом, равным определенному значению - PullRequest
1 голос
/ 13 апреля 2020

Я использую Python и Selenium для очистки веб-страницы.

Я пытаюсь найти следующую кнопку «следующая страница» на странице:

<button class="pagination__next" aria-label="click to go to the next page" disabled="true" aria-hidden="true"></button>

disabled='true' появляется, когда я на последней странице многостраничной встроенной javascript сгенерированной таблицы.

На странице может быть больше кнопок, и некоторые из них отключены в то время, когда я ищу этот конкретный button.

Итак, я пытаюсь определить, находится ли эта конкретная кнопка с class="pagination__next" с атрибутом disabled равно 'true' в driver.page_source

Существует множество примеров вокруг определения конкретного тега («кнопка»). Но не как найти кнопку и атрибут кнопки disabled равной 'true'

Я пробовал разные подходы. Я думаю, что закрытие я получил:

driver.find_element_by_css_name('pagination__next[disabled='true'])

, но я не думаю, что это сработало.

Есть идентичный вопрос здесь , но ОП просит Java решение. Я ищу Python.

Руководство, пожалуйста.

Ответы [ 2 ]

1 голос
/ 13 апреля 2020

find_element_by_xpath() с несколькими атрибутами - это то, что вам нужно, то есть:

driver.find_element_by_xpath('//*/button[@class="pagination__next"][@disabled="true"]')

0 голосов
/ 13 апреля 2020

Использование .find_element_by_xpath с выражением AND:

driver.find_element_by_xpath('//button[@class="pagination__next" and @disabled="true"]')

С выражением AND вы можете найти элемент с несколькими условиями, используя значение атрибута.

xpath-селен ИЛИ & И выражение

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