我有一个文档,它有一个或两个链接,可以使用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。
我只需要一种方法来始终返回列表中的最后一个元素。
答案 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]