2016-04-26 152 views
0

我正在使用webdriver测试我公司的web应用程序。一些页面部分是通过javascript和jQuery动态填充的。我无法找到元素ID.e元素无法找到html元素ID

+0

等到页面完全加载 –

+0

假设您需要获取动态插入元素的ID,如果您可以控制其他脚本,则可以在其他脚本执行结束时将脚本的执行附加为回调。否则,您可以使用'setTimeout'来延迟脚本执行,并使其晚于其他脚本。这是否解决了这个问题?如果没有,请更具体 – reallynice

回答

0

如果您的网站使用jQuery,那么您需要等到它执行完毕。 你必须检查JS的这种情况:jQuery.active == 0

要硒做使用下面的代码:

var ajaxIsComplete = ((bool)((IJavaScriptExecutor) Driver).ExecuteScript("return jQuery.active == 0")); 

您可以在此主题中查看多个实现:wait for an ajax call to complete with Selenium 2 web driver