我有一堆元素,需要使用xpath选择最后一个元素。 元素看起来像:
xpath=(//a[contains(text(),'Actions')])[2]
xpath=(//a[contains(text(),'Actions')])[3]
xpath=(//a[contains(text(),'Actions')])[4]
xpath=(//a[contains(text(),'Actions')])[5]
xpath=(//a[contains(text(),'Actions')])[6]
xpath=(//a[contains(text(),'Actions')])[7]
使用Selenium IDE,我看到,我可以使用:
选择最后一个元素xpath=(//a[contains(text(),'Actions')])[last ()]
但是Selenium Webdriver不理解这种语法(错误NoSuchElementException)
它只能理解这种语法:
driver.find_element_by_xpath("//a[contains(text(),'Actions')][last ()]").click()
但在这种情况下,我会选择第一个元素。
请帮我改写xpath以选择最后一个元素而不是Selenium Webdriver中的第一个元素。
答案 0 :(得分:0)
您的代码首先选择,因为您使用xpath尝试查找元素
ele= driver.find_elements_by_xpath("//a[contains(text(),'Actions')][last ()]")
ele[-1].click