【问题标题】:Find element by value Selenium/Python按值查找元素 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

【问题讨论】:

  • 请不要张贴您的代码图片。只需复制粘贴并使用代码格式按钮即可。
  • @Jacobr365 我可以从 Chrome 复制 HTML 吗?公元前我试过了,我一次只能复制一行,结果一团糟
  • 是的,你可以。在检查框中选择元素选项卡,然后单击一个块并右键单击复制。

标签: python selenium selenium-webdriver automation


【解决方案1】:

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

试试这个:

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

【讨论】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-08-13
    • 2014-09-19
    • 2016-06-08
    • 1970-01-01
    • 2016-11-30
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    相关资源
    最近更新 更多