Selenium find_element_by_xpath最后

时间:2016-08-30 13:38:43

标签: python selenium xpath

我有一堆元素,需要使用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]

http://prntscr.com/cc3gxd

使用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中的第一个元素。

1 个答案:

答案 0 :(得分:0)

您的代码首先选择,因为您使用xpath尝试查找元素

ele=  driver.find_elements_by_xpath("//a[contains(text(),'Actions')][last ()]")
ele[-1].click