按值查找元素 Selenium/Python

Posted

技术标签:

【中文标题】按值查找元素 Selenium/Python【英文标题】:Find element by value Selenium/Python 【发布时间】:2018-10-12 15:57:29 【问题描述】:

我正在使用 Selenium 和 Python 自动从我们的发电厂中提取一些数据,现在我需要单击一个元素。 问题是元素的xpaths 和我们正在监控的每个工厂的订单更改。唯一的静态信息是value,就像第三行中的value="T_U0

我尝试了很多方法,但都找不到解决方案。我不能使用 index 或 child,因为参数的顺序正在改变。我尝试了 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,如果有办法,请告诉我,如果没有,请告诉我该怎么做。

I need to click in some options that change order accordingly to the plant

【问题讨论】:

请不要张贴您的代码图片。只需复制粘贴并使用代码格式按钮即可。 Selenium - Python - drop-down menu option value的可能重复 @Jacobr365 我可以从 Chrome 复制 html 吗?公元前我试过了,我一次只能复制一行,结果一团糟 是的,你可以。在检查框中选择元素选项卡,然后单击一个块并右键单击复制。 【参考方案1】:

问题出在第一个 xpath 上。您正在尝试在需要获取选项时定位输入。

试试这个:

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

【讨论】:

它确实有效!谢谢阿南德,太简单了,我看不到,再次感谢!【参考方案2】:

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

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

【讨论】:

以上是关于按值查找元素 Selenium/Python的主要内容,如果未能解决你的问题,请参考以下文章

在 leveldb 上按值查找

golang map 是按值查找还是按引用查找?

JQuery - 按值查找单选按钮

python 按值查找列表项的索引

dataframe按值(非索引)查找多行

javascript在嵌套对象/数组中按值查找