Selenium的 WebDriverWait 研究
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接
千家信息网最后更新 2026年11月04日Selenium的 WebDriverWait 研究
在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接使用了这个WebElement,那么就会抛出NullPointer的异常。
为了解决这种问题,尤其是RemoteWebDriver(不确定因素更多的情况) ,我们就需要用很高级的WebDriverWait的功能。
简而言之,这个WebDriverWait就是等待到某个条件的满足之下然后再继续往下走。
贴上样例代码:
WebDriverWait wait = new WebDriverWait(getWebDriver(), 3); wait.until(new ExpectedCondition() { public Boolean apply(WebDriver webDriver) { return !justification.getAttribute("class").contains("x-form-invalid-field"); } });
这段代码是干什么呢,它是说,默认让webDriver最多等3秒,直到页面上叫justification的WebElement元素的样式不包含x-form-invalid-field.
分析:
这是什么意思呢?很简单,因为我们的页面上每个字段都加了js表单验证,如果这个页面上的元素输入错误,就会有一个红色的框框提示用户非法输入,这个红色框框的样式就是x-form-invalid-field,所以我们的作用就是等这个红色的框框消失,然后再进行下一步的操作。
如下图:
因为这个justification的WebElement是强制用户输入的,如果用户不输入,就有个红色框框:
然后这个红色的框框的样式包含x-form-invalid-field,如下图:
所以现在十分清楚了,我们的目的就是在运行automation testcase时候让这个红色框框消失。
框框
红色
页面
元素
就是
输入
代码
时间
样式
用户
时候
问题
运行
清楚
高级
作用
功能
因素
字段
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
深圳市人人互联网科技有限公司
科技与互联网
科技信息互联网
贷财互联网科技
壕鑫互联网络科技
天下捷融互联网科技
上海万想互联网科技
互联网科技公司名称
广州优美互联网科技
互联网金融中的现代科技
宝灵互联网科技有限公司
晓花互联网科技有限公司网址
中科明德北京互联网科技
工业互联网山东科技大学
黑云互联网科技有限公司
广州百诚互联网科技有限公司官网
厦门江牛科技互联网
郑州欣桑互联网科技有限公司
互联网高科技绘画
湖南永感互联网科技有限公司
狮子座互联网科技有限公司
昭通云南众福互联网科技有限公司
互联网为啥属于高科技
南博望互联网科技有限公司
济南有互联网科技公司吗
2021互联网科技公司排名
江苏互联网科技小贷
云鲸互联网络科技有限公司
北京互联网科技类企业分布