按值查找元素 Selenium/Python

问题描述 投票:0回答:3

我正在使用 Selenium 和 Python 自动从我们的发电厂提取一些数据,现在我需要单击一个元素。 问题是我们正在监控的每个植物的元素

xpaths
和顺序都会发生变化。唯一的静态信息是
value
,就像第三行
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
,如果有办法请告诉我,如果没有请告诉我怎么做。

我需要单击一些选项来根据植物相应地更改顺序

python selenium selenium-webdriver automation
3个回答
19
投票

问题出在第一个 xpath 上。您正在尝试找到输入,同时需要获得选项。

试试这个:

driver.find_element_by_xpath("//option[@value='T_U0']").click() 

2
投票

您可以尝试通过显示的文本单击/选择元素。 伪代码:

driver.find_element_by_xpath("//option[text()="Some text"]").click()

0
投票

现在可以了:

driver.find_element(By.XPATH,'//*[@value="T_U0"]')
© www.soinside.com 2019 - 2024. All rights reserved.