Selenium+java设置元素等待
2022/1/25 22:04:57
本文主要是介绍Selenium+java设置元素等待,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.为什么要设置元素等待?
- 由于网络速度原因
- 电脑配置原因
- 服务器处理请求原因
2.强制等待
Thread.sleep(1000);//等待一秒中
3.显式等待
在WebDriver中把显式等待的相关方法封装在WebDriverWait类中
WebDriverWait wait = new WebDriverWait(driver,10); wait.until(ExpectedConditions.presenceOfElementLocated(by)); // 每隔一段时间看下是否找到指定元素,如果找到了,则执行下一步操作,否则继续等待,知道超过设置的最长时间10秒,然后抛出TimeOutException 常用方法: elementToBeSelected(WebElement element)//页面元素处于被选中的状态 elementToBeClickable(By locator)//页面元素是否在页面上可用和可被点击 presenceOfElementLocated(By locator)//页面元素在页面上是否存在 textToBePresentInElement(By locator)//页面元素是否包含特定文本
使用方法如: WebDriverWait wait = new WebDriverWait(driver,10,1);//最大等待时间为10秒,每1秒检测一次,不设置默认是0.5秒 wait.until(ExpectedConditions.presenceOfElementLocated(by)); //要到某个元素出现或者可被点击
4.隐式等待
如果某一元素定位失败,那么就会触发隐式等待有效时长,如果在指定时长内加载完毕,则继续执行,否则抛出NoSuchElementException异常
如果元素在第一次就定位到,则不会触发隐式等待时长,在实际工作中,一般都使用隐式等待。
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);// 隐式等待时长为20秒
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);// 关闭隐式等待时长
5.显式等待与隐式等待的区别
1.显式等待方法等装在WebDriverWait类中,隐式等待则直接通过浏览器实例化对象调用
2.显式等待对单个元素有效,隐式等待为全局等待
3.显式等待就是有条件的等待
4.隐式等待就是无条件的等待
这篇关于Selenium+java设置元素等待的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南