等待javascript事件WebDriver

问题描述 投票:1回答:1

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

每个菜单具有以下代码:

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

[当我尝试单击子菜单的链接时,Selenium引发了一个异常,即元素不可单击或找不到元素。

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

感谢

javascript selenium selenium-webdriver automated-tests bdd
1个回答
2
投票

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

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

此元素最多显示10秒钟。

© www.soinside.com 2019 - 2024. All rights reserved.