编程语言
首页 > 编程语言> > python-Xpath的硒计数元素

python-Xpath的硒计数元素

作者:互联网

我有一个网页,其中的表格包含许多下载链接
我想让硒点击最后一个:

表:

item1 Download
item2 Download
item3 Download

硒必须单击下载下一个项目3

我用xpath查找所有元素,然后以这种方式获取返回数组或字典的大小

x = bot._driver.find_element_by_xpath("//a[contains(text(),'Download')]").size()

但是我总是得到这个错误

TypeError: 'dict' object is not callable

我试图使用get_xpath_count方法,但是该方法在python的硒中不存在!

我想到了另一种解决方案,但我不知道该怎么做,如下

x = bot._driver.find_element_by_xpath("(//a[contains(text(),'Download')])[size()-1]")

要么

x = bot._driver.find_element_by_xpath("(//a[contains(text(),'Download')])[last()]")

或者是其他东西

解决方法:

使用find_elements_by_xpath获取相关元素的数量

count = len(driver.find_elements_by_xpath(xpath))

然后单击最后一个元素:

elem = driver.find_element_by_xpath(xpath[count])
elem.click()

注意:find_elements_by_xpath在第一个代码片段中为复数形式

标签:web2py,selenium,xpath,python
来源: https://codeday.me/bug/20191122/2063202.html