Selenium => 4BUTTON具有相同的href,相同的类,相同的文本要单击4

时间:2019-02-09 17:46:18

标签: selenium class text href

我只是试图在网站上找到元素,但是找不到。代码是:

<a href="#" class="btn btn-default free_send_button">Basla</a>      

您能帮我吗?有一个4个相同的html按钮代码:4个相同的href,4个相同的类,4个相同的文本代码...我只想单击4。我尝试了一些我在下面写的代码。如果可能且有用的话,您能解决我的代码吗?或者找到元素的最佳方法是什么?已经谢谢你了。

self.web.find_element_by_xpath("(//href[text()[contains(.,'#')]])[1]").click()

2 个答案:

答案 0 :(得分:0)

我只是尝试使用class'name并找到它。希望对您有所帮助:

self.web.find_element_by_xpath("(//a[contains(@class,'btn btn-default free_send_button')])[1]").click()

答案 1 :(得分:0)

正如您提到的,班级和文本也相同,您想单击最后一个/第四个匹配项,然后可以尝试以下定位器:

locator = "(//a[text()='Basla'])[last()]"
element = driver.find_element_by_xpath(locator)
element.click()

locator = "(//a[text()='Basla'])[4]"
element = driver.find_element_by_xpath(locator)
element.click()

locator = "(//a[contains(@class, 'free_send_button')])[last()]"
element = driver.find_element_by_xpath(locator)
element.click()

locator = "(//a[contains(@class, 'free_send_button')])[4]"
element = driver.find_element_by_xpath(locator)
element.click()

您可以为该定位器编写更多的xpath,但是我认为上面提到的方法会起作用。