我可以编写以下代码让WebDriver等待一段时间
new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.id("loginBox")));
But,
实际上我向服务器发送 AJAX 请求。这里我给了20毫秒的等待时间。 20ms或500ms并不重要。如果响应超过给定时间(例如20ms)。然后我会例外,找不到这样的元素。
那么有没有更好的方法让服务器等待呢?
谁能帮我?
提前致谢,
格尼克
您可以确保在继续执行此代码之前填充了employeeName 文本框 -
new WebDriverWait(driver,10).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
String text = driver.findElement(By.id("employeeName")).getText();
return !text.equals("");
}
});
现在,此代码检查employeeName 文本框中的文本是否为空。如果为空,驱动程序将等待 10 秒,或者如果由于 AJAX 调用而在文本字段中填充了一些数据,则驱动程序将继续执行。
如果这不起作用,您可以发布一些用于进行 AJAX 调用的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)