隐式等待和显式等待的区别

显式等待WebDriverWait()用于等待特定元素出现,找到即执行,未找到则抛异常。隐式等待implicitly_wait()是全局设置,等待所有元素加载,可能导致不必要的长时间等待。强制等待sleep()则设定固定延迟,不推荐频繁使用,因为它会影响测试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显式等待WebDriverWait()

是针对某个元素设定的等待时间,在设置时间内,默认每隔一段时间检测一次当前页面某个元素是否存在,如果在规定的时间内找到了元素,则直接执行,即找到元素就执行相关操作,如果超过设置时间检测不到则抛出异常。默认检测频率为0.5s, 如果在规定时间内没有加载出来那么就是会抛出TimeoutException

使用场景:当打开一个新页面,执行第一个元素操作的时候;当某一步操作会引发页面的加载,并且加载的内容包含了下一步需要操作的元素。一句话,就是当某个元素有加载过程的时候,就需要加上显示等待。

隐式等待implicitly_wait()

是设置的全局等待。设置等待时间,是对页面中的所有元素设置加载时间,如果超出了设置时间的则抛出异常。隐式等待可以理解成在规定的时间范围内,浏览器在不停的刷新页面,直到找到相关元素或者时间结束。

隐式等待有一个弊端,就是程序会一直等待整个页面加载完成,也就是一般情况下你看到浏览器标签栏那个小圈不再转,才会执行下一步,但有时候页面想要的元素早就在加载完成了,但是因为个别js之类加载特别慢,仍得等到页面全部完成才能执行下一步。太耗费时间。

强制等待sleep()

用以设置固定的线程休眠时间(s),使得整个脚本暂停。但是这种方式会导致这个脚本运行时间过长,不到万不得已尽可能少用,特殊情况下,时间设置最好不超过1秒,一般0.5秒

强制等待sleep与隐式等待implicitly_wait尽量少用,它会对测试用例的执行效率有影响。


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值