Pri*_*nce 4 ajax selenium webdriver selenium-webdriver
我可以编写以下代码来请求WebDriver等待一段时间
new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.id("loginBox")));
Run Code Online (Sandbox Code Playgroud)
但,
实际上我发送AJAX请求到服务器.在这里,我给了20毫秒等待.20ms或500ms并不重要.如果响应超过给定时间(例如20ms).然后我会例外地发现没有这样的元素.
那么有更好的方法要求服务器等待吗?
谁能帮我?
提前谢谢,Gnik
在使用此代码继续执行之前,您可以确保填充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("");
}
});
Run Code Online (Sandbox Code Playgroud)
现在,此代码检查employeeName文本框中的文本是否为空.如果它为空,则驱动程序等待10秒,或者如果由于AJAX调用而在文本字段中填充了某些数据,则继续执行.
如果这不起作用,您可以发布一些用于进行AJAX调用的代码.
归档时间: |
|
查看次数: |
9882 次 |
最近记录: |