硒显式等待,等到按钮列表可单击

selenium explicitly wait, wait until a list of buttons are clickable

本文关键字:按钮 列表 单击 等待      更新时间:2023-09-26

页面中有一个按钮列表。除链接文本外,每个按钮的源代码都相同。

我需要确认一个页面中的所有按钮都可以使用WebDriverWait.until单击。我可以以下 WebDriverWait(driver,10).until(ec.element_to_be_clickable(By.XPATH,'//a[@class="ng-scope"]'))确认第一个按钮是可点击的,但是如何在不使用文本功能(abc|efg)的情况下确认第二个按钮?

有什么建议在 xpath 中提取索引吗?谢谢。

<li class="ng-scope" ng-report="one in typelist">
    <a class = "btn ng-binding" ng-class="{aabbcc}"> abc</a>
</li>
<li class="ng-scope" ng-report="one in typelist">
    <a class = "btn ng-binding" ng-class="{aabbcc}"> efg</a>
</li>
尝试将所有

元素捕获到列表中并遍历每个元素以检查它们是否可单击

您可以使用 xpath 按索引进行搜索

WebDriverWait(driver, 10).until(ec.element_to_be_clickable(By.XPATH, "//a[@class='ng-scope'][2]"))

这将为您提供第二个按钮。