等待 JavaScript 事件 WebDriver

Wait javascript event WebDriver

本文关键字:WebDriver 事件 JavaScript 等待      更新时间:2023-09-26

我有一个用angularJS内置的菜单和子菜单。

每个菜单都有以下代码:

<a class="ng-scope" ng-click="irPara(item, $event)" ng-if="!item.heading" title="">

当我尝试单击子菜单的链接时,Selenium 会抛出一个异常,即元素不可单击或找不到元素。

我假设发生这种情况是因为我必须等待子菜单加载,如何在不使用 Thread.sleep() 的情况下等待加载此子菜单

谢谢

您可以使用显式等待。在 JavaScript 中变通方法:

driver.wait(function() {
    return driver.findElement(locator).isDisplayed();
}, 10);

这将等待最多 10 秒以显示元素。