【问题标题】:Unable to find Input value using Xpath无法使用 Xpath 找到输入值
【发布时间】:2020-03-05 14:22:09
【问题描述】:

这里是python的新手。我试图让我的脚本单击具有给定输入值的复选框。不幸的是,没有输入 ID。使用 find_element 返回错误:

Unable to locate element

使用 find_elements() 返回一个列表,因此我收到错误:

'list' object has no attribute 'click'

这是我遇到问题的代码。

OldJob = driver.find_elements_by_xpath("//input[@value='0   ']")
OldJob.click()

这里是html:

有什么想法可以解决这个问题吗?

【问题讨论】:

  • 请阅读minimal reproducible example 并相应地编辑您的帖子。添加代码图片不是好习惯,没有人会通过查看图片为您编写代码
  • 您已经解决了自己的问题:您需要迭代列表以找到正确的元素,或者您需要将find_element_by_xpath 与仅匹配所需元素的选择器一起使用。如果没有完整的 html,我们无法判断您是否使用了正确的选择器。
  • 元素有名字...你试过driver.find_element_by_css_selector("input[name='RowNum']")driver.find_element_by_name("RowNum")吗?

标签: python selenium selenium-webdriver xpath


【解决方案1】:

要定位 <input> 元素,您可以使用以下任一 Locator Strategies,如下所示:

  • cssSelector:

    driver.find_element_by_css_selector("input[name='RowNum'][value^='0'][type='checkbox']")
    
  • xpath:

    driver.find_element_by_xpath("//input[@name='RowNum' and contains(@value, '0')][@type='checkbox']")
    

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 2019-12-04
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-08
    • 1970-01-01
    相关资源
    最近更新 更多