Найти элемент по значению Selenium / Python - PullRequest
0 голосов
/ 02 мая 2018

Я использую Selenium с Python для автоматического извлечения некоторых данных с наших электростанций, и сейчас мне нужно нажать на элемент. Проблема в том, что элемент xpaths и изменение заказа для каждого завода, который мы отслеживаем. Единственная статическая информация - value, как в 3-й строке value="T_U0.

Я перепробовал много подходов и не смог найти решение. Я не могу использовать индекс или дочерний элемент, потому что порядок параметров меняется. Я попробовал CSS-селектор без успеха.

Вот некоторые из моих попыток ...

driver.find_element_by_xpath("//input[@value='T_U0']").click()
driver.find_element_by_css_selector("input[@data-id-sys-abbreviation='388']").click()

Я пробовал много других вещей, но я просто отчаянно пытался что-нибудь.

Что мне действительно нужно, так это find_by_value, если есть способ сделать это, пожалуйста, дайте мне знать, если нет, пожалуйста, покажите мне, как я могу это сделать.

Мне нужно нажать на некоторые опции, которые меняют порядок в соответствии с заводом

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Вы можете попробовать щелкнуть / выбрать элемент с помощью отображаемого текста. Псевдокод:

driver.find_element_by_xpath("//option[text()="Some text"]").click()
0 голосов
/ 02 мая 2018

Проблема с первым xpath. Вы пытаетесь найти вход, когда вам нужно получить опцию.

Попробуйте это:

driver.find_element_by_xpath("//option[@value='T_U0']").click() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...