Selenium => 4BUTTON 具有相同的 href ,相同的 class ,相同的文本想要点击 4

Selenium => 4BUTTON with same href , same class , same text wanna click on 4

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

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

你能帮我一下吗。有 4 个相同的 html 按钮代码:4 个相同的 href,4 个相同的 class,4 个相同的文本代码...我只想点击 4。我尝试了下面写的一些代码。如果可能且有用,您可以修复我的代码吗?或者哪种查找元素的方法是最好的方法?已经谢谢了..

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

我刚刚尝试继续 class'name 并找到它。希望它可能有所帮助:

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

如您所述,class 和文本也相同,您想要单击 last/fourth 匹配,然后您可以尝试以下定位器:

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,但我认为上面提到的会起作用。