Selenium,使用xpath单击具有类似内容的按钮

时间:2014-03-15 13:41:37

标签: selenium xpath

我想点击一个按钮,其中包含"添加"作为文字。 即:

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

然而这样做并不实际:

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

没关系,除了页面上有一个带有文字的按钮"添加用户",然后点击它。有没有办法只在它是完全的时候点击它"添加"而不只是包含"添加"?

3 个答案:

答案 0 :(得分:0)

这应该适合你:

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

答案 1 :(得分:0)

您也可以尝试:

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

link text会匹配文字等于Add的链接,但它与包含“添加”的text不匹配。

答案 2 :(得分:0)

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

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

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