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



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

有什么办法可以做到吗?

。该页面有时会有一个链接,文本为stackoverflow.com/xxxxxxx和stackoverflow.com/iwantthislink。其他时候只有stackoverflow.com/iwantthislink.

当我使用driver.find_element_by_partial_link_text("stackoverflow.com/")时,它返回stackoverflow.com/xxxxxxx,因为它在stackoverflow.com/iwantthislink之前。

我只需要一种方法总是返回列表中的最后一个元素

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]

相关内容

最新更新