Javascript selenium显式等待,直到按钮列表可单击为止

Javascript selenium显式等待,直到按钮列表可单击为止,javascript,angularjs,selenium,selenium-webdriver,webdriver,Javascript,Angularjs,Selenium,Selenium Webdriver,Webdriver,页面中有一个按钮列表。除了链接文本外,每个按钮的源代码都是相同的 我需要确认一个页面中的所有按钮都可以使用WebDriverWait.until单击。我能做到以下几点 WebDriverWait(driver,10).until(ec.element可点击(By.XPATH,//a[@class=“ng scope”]) 要确认第一个按钮是可点击的,但如何在不使用文本功能(abc | efg)的情况下确认第二个按钮 有没有在xpath中提取索引的建议?多谢各位 <li class="ng-

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

我需要确认一个页面中的所有按钮都可以使用WebDriverWait.until单击。我能做到以下几点
WebDriverWait(driver,10).until(ec.element可点击(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>
  • abc
  • efg

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

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

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

    尝试将所有元素捕获到一个列表中,并对每个元素进行迭代,以检查它们是否可单击。

    对于第二个ng范围,它应该是[2]而不是[1]。检查这个:@dvenkatsagar我找到了原因(尽管你的例子有些模糊,看)。谢谢