gpt4 book ai didi

ajax - 如何让 Selenium WebDriver 等待一段时间?

转载 作者:行者123 更新时间:2023-12-05 01:23:19 25 4
gpt4 key购买 nike

我可以写下面的代码让 WebDriver 等待一段时间

new WebDriverWait(driver, 20).until(ExpectedConditions.presenceOfElementLocated(By.id("loginBox")));

但,

实际上我向服务器发送 AJAX 请求。在这里,我给了 20 毫秒的等待时间。 20ms 或 500ms 无关紧要。如果响应超过给定的时间(例如 20 毫秒)。然后我会异常(exception),没有找到这样的元素。

那么有没有更好的方法让服务器等待呢?

谁能帮我?

提前致谢,
格尼克

最佳答案

在继续执行此代码之前,您可以确保已填充了 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 调用的代码。

关于ajax - 如何让 Selenium WebDriver 等待一段时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com