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

2024-04-05

我可以编写以下代码让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(使用前将#替换为@)

如何让 Selenium WebDriver 等待一段时间? 的相关文章

随机推荐