【问题标题】:How to wait for ajax load before performing any activity in selenium webdriver?如何在 selenium webdriver 中执行任何活动之前等待 ajax 加载?
【发布时间】:2014-05-02 18:17:11
【问题描述】:
如何在 selenium webdriver 中执行任何活动之前等待 ajax 加载?
我有一个表单,我通过脚本填写表单字段并单击一个按钮,然后打开下一个表单,并且从我填写的最后一个表单中预填充了几个字段,我想等待该表单以便填写表单,然后我的下一个脚本运行,即直到我的 ajax 加载。
我正在使用 java。
我认为使用了等待直到,但我不确定如何使用它。
或者如果有其他解决方案,请建议..
【问题讨论】:
标签:
java
ajax
selenium
selenium-webdriver
【解决方案1】:
您可以按照this 帖子中的说明使用waitForCondition 方法。
最终您会超时,或者您的测试可能永远无法完成。例如:
public void waitForJQuery() {
WebDriverBackedSelenium webDriverBackedSelenium = new WebDriverBackedSelenium(driver, driver.getCurrentUrl());
webDriverBackedSelenium.waitForCondition("(typeof(sjq)==='undefined') || sjq.active == 0", JAVASCRIPT_TIMEOUT);
}