如何返回符合driver.find_element_by_partial_link_text条件的最后一个元素?

时间:2013-06-06 20:35:16

标签: python selenium

我有一个文档,它有一个或两个链接,可以使用selenium / python命令driver.find_element_by_partial_link_text找到。无论是一个还是两个链接,我总是希望脚本返回列表中的最后一个。

有没有办法做到这一点?

即。该页面有时会链接文本stackoverflow.com/xxxxxxx和stackoverflow.com/iwantthislink。其他时候它只有stackoverflow.com/iwantthislink。

当我使用driver.find_element_by_partial_link_text("stackoverflow.com/")时,它会返回stackoverflow.com/xxxxxxx,因为它来自stackoverflow.com/iwantthislink。

我只需要一种方法来始终返回列表中的最后一个元素。

1 个答案:

答案 0 :(得分:4)

find_elements_by_partial_link_text返回一个列表。 (注意elements vs element。)

要访问最后一个元素,请执行以下操作:

my_elem = driver.find_elements_by_partial_link_text('sometext')[-1]

更好的是,事先测试元素的存在:

elems = driver.find_elements_by_partial_link_text('sometext')
if elems:
    my_elem = elems[-1]