我正在使用 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
,如果有办法请告诉我,如果没有请告诉我怎么做。
问题出在第一个 xpath 上。您正在尝试找到输入,同时需要获得选项。
试试这个:
driver.find_element_by_xpath("//option[@value='T_U0']").click()
您可以尝试通过显示的文本单击/选择元素。 伪代码:
driver.find_element_by_xpath("//option[text()="Some text"]").click()
现在可以了:
driver.find_element(By.XPATH,'//*[@value="T_U0"]')