加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:45:30 所属栏目:百科 来源:网络整理
导读:我可以编写以下代码来请求WebDriver等待一段时间 new WebDriverWait(driver,20).until(ExpectedConditions.presenceOfElementLocated(By.id("loginBox"))); 但, 实际上我发送AJAX请求到服务器.在这里,我给了20毫秒等待. 20ms或500ms并不重要.如果响应超过给
我可以编写以下代码来请求WebDriver等待一段时间

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

但,

实际上我发送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("");
        }
    });

现在,此代码检查employeeName文本框中的文本是否为空.如果它为空,则驱动程序等待10秒,或者如果由于AJAX调用而在文本字段中填充了某些数据,则继续执行.

如果这不起作用,您可以发布一些用于进行AJAX调用的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读