【问题标题】:Selenium, using xpath to click a button with a similar contentSelenium,使用xpath点击内容相似的按钮
【发布时间】:2014-11-05 18:09:50
【问题描述】:

我想单击一个包含“添加”文本的按钮。 即:

driver.find_element_by_xpath("(//a[contains(text(),'Add')])").click()

但是这样做并不实际:

driver.find_element_by_xpath("(//a[contains(text(),'Add')])[1]").click()

这很好,除了页面有一个带有“添加用户”文本的按钮,而是点击它。有没有办法只在它完全是“添加”而不只是包含“添加”时才点击它?

【问题讨论】:

    标签: selenium xpath


    【解决方案1】:

    你也可以试试:

    driver.find_element_by_link_text("Add").click()
    

    link text 将匹配文本等于 Add 的链接,而不匹配包含 Add 作为其一部分的 text

    【讨论】:

      【解决方案2】:

      这应该适合你:

      driver.find_element_by_xpath("//a[text()='Add']").click()
      

      【讨论】:

        【解决方案3】:

        您应该更改您的 xpath 以要求完全匹配而不是部分匹配。

        driver.find_element_by_xpath("//a[text()='Add']").click()
        

        使用text()= 要求按钮上的文本等于“添加”,并且不会找到其他恰好包含“添加”文本的按钮

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-01-05
          • 2022-10-03
          • 2018-10-07
          • 1970-01-01
          • 1970-01-01
          • 2021-10-05
          • 2020-06-24
          相关资源
          最近更新 更多