我有一个如下所示的html页面
<body>
<div>
<a class="btn btn-info" href="a.php">A</a>
<a class="btn btn-info" href="b.php">B</a>
<a class="btn btn-info" href="c.php">C</a>
<a class="btn btn-info" href="d.php">D</a>
</div>
<a class="btn btn-info" href="f.php">F</a>
</body>
我需要选择最后一个链接
F
。我已经尝试过如下
link = driver.find_element_by_xpath("//a[last()]")
正在选择
D
我也尝试过以下方式
email = driver.find_element_by_xpath("/body//a[last()]")
此时无法定位元素。我怎样才能以简单的方式获得这里的最后一个链接?
获取last元素。尝试以下
xpath
。
link = driver.find_element_by_xpath("(//a)[last()]")
使用
driver.findElements()
方法并将返回值放入数组中。
最后一个链接将是数组的最后一个元素。
我建议你(出于各种原因):
做
yourArray = driver.findElements(By.tag("a"))
对于每个元素,使用
element.getAttribute("href") != null
检查 href 属性是否不为空,如果不是则更新 myIndex var
“yourArray”的索引“myIndex”处的元素将是您要搜索的元素。
添加@KunduK 接受的答案(因为我还不能发表评论) - 如果你想单击最后一个元素,使用新的 Selenium 版本它将是
driver.find_element("xpath","(//a)[last()]").click()
。