【问题标题】:Click a checkbox using Python Selenium使用 Python Selenium 单击复选框
【发布时间】:2019-10-10 05:31:37
【问题描述】:

我正在尝试选择以下复选框:

我尝试了不同的 xpath、id、css_selector,但没有一个适合我。

任何帮助将不胜感激。

driver.find_element_by_xpath('.//*[@data-ruleid="21FE54AC-1667-46sdC7-85A9-1540548AD6B9@@notable@@f7b515fasd1cf132c545d2cce4970bebf2b"').click()

参考代码:

<label class="checkbox ir-label-checkbox">
   <a data-ruleid="21FE5fs4AC-1667-46C7-85A9-1540548AD6B9@@notable@@f7b515f1cf132c5sas45d2cce4970bebf2b" data-status="4" class="btn show"></a>
</label>

【问题讨论】:

  • 请不要将图片链接到代码,而是在问题中输入代码。
  • @GiftZwergrapper:完成
  • 问题可能很容易(并且可能是)来自字符串末尾的""
  • 你不需要双重 "" 。它不是 ID 的一部分。
  • 页面上是否有多个复选框?这个元素周围还有什么可以用来形成定位器的?包括更多周围的 HTML。您是否尝试过 data-status 属性?你还试过什么?

标签: python selenium selenium-webdriver automation webdriver


【解决方案1】:

尝试跟随 xpath:-

driver.find_element_by_xpath("//a[@class='btn show'][1]").click()

整个班级的第二个 xpath:-

 driver.find_element_by_xpath("//label[@class='checkbox ir-label-checkbox'][1]").click()

第三个xpath:-

driver.find_element_by_xpath(" //a[@class='btn show'][1]/@data-ruleid").click()

【讨论】:

    【解决方案2】:

    试试下面的Xpath

    driver.find_element_by_xpath("//label[@class='checkbox ir-label-checkbox']/a[@class='btn show']").click()
    

    【讨论】:

      【解决方案3】:

      我认为您不应该以这种方式使用引号。

      你的:

      driver.find_element_by_xpath('.//*[@data-ruleid=""21FE54AC-1667-46sdC7-85A9-1540548AD6B9@@notable@@f7b515fasd1cf132c545d2cce4970bebf2b""').click()
      

      我认为是正确的引用(无法测试,这不是MCVE):

      driver.find_element_by_xpath(".//*[@data-ruleid='21FE54AC-1667-46sdC7-85A9-1540548AD6B9@@notable@@f7b515fasd1cf132c545d2cce4970bebf2b'").click()
      

      【讨论】:

      • 引号 "" 是我之前尝试删除它们的一个错字,但它也不起作用。
      • @amitpanjawani 好吧,您需要包含您正在尝试的网站的链接,以便我们能够自己测试并确保它有效...
      • 我知道如果我分享这个网站会很快很容易,但是很抱歉,由于隐私,我不能分享。如果您需要,我可以为您提供更多详细信息。
      • @amitpanjawani 好吧,很抱歉,如果无法访问该网站,我们将无法提供任何帮助。祝你好运!
      • 不用担心@Reedinationer。感谢您的帮助。
      【解决方案4】:

      试试//a[start-with(@data-ruleid,'21FE5fs4AC')]。如果它不起作用,请检查您的 HTML 代码并确保代码本质上是静态的,或者将 '21FE5fs4AC' 替换为静态和唯一值。

      【讨论】:

        猜你喜欢
        • 2022-01-07
        • 1970-01-01
        • 1970-01-01
        • 2017-09-24
        • 2021-12-11
        • 2021-12-23
        • 2020-10-06
        • 2018-10-31
        • 1970-01-01
        相关资源
        最近更新 更多