selenium的三种等待时间学习

本文介绍了自动化测试中Selenium的三种等待时间:强制等待sleep()、隐性等待implicitly_wait()和显性等待WebDriverWait()。强制等待会影响程序执行速度;隐性等待在整个driver生命周期生效,可能导致不必要的延迟;显性等待更灵活,仅在元素出现时执行下一步。文章还详细讲解了显性等待的参数设置及与隐性等待的配合使用。
摘要由CSDN通过智能技术生成

在面试自动化职位的时候,经常会有问题涉及到你对于自动化中的三种等待时间的提问。很多时候我们在做项目中直接使用time.sleep(3)这句代码去等待3秒或者更长的时间。或者在定位不到元素时候也是直接上述代码去等待知道页面加载完全以至于定位元素成功。做出这些举动往往因为对于等待时间的不会使用导致。

1、 强制等待sleep()
开题中使用的等待就是这种方法,这种方法的坏处就是严重影响程序的执行速度。在程序执行的开始,不管打开浏览器加载是否完毕,一定都会等待这些时间,时间一到继续执行后面的代码。

from selenium import webdriver
from time import sleep
url='https://mail.163.com/'
driver = webdriver.Chrome()
driver.get(url=url)
sleep(3)
driver.maximize_window()
sleep(3)
print(driver.current_window_handle)

上述代码中共设置了2次强制等待时间。1、在打开浏览器开始就设置好强制等待3秒再最大化浏览器。2、最大化浏览器之后再等待3秒之后打印当前的handle。

2、 隐性等待implicitly_time()
设置一个最长等待时间,在整个driver的生命周期一直生效,只需设置一次即可。在遇到这行代码时候,如果浏览器在规定时间之内全部元素加载完毕那么就可以立即开始执行下行代码;如果规定时间之内还没有加载出来也要执行下行代码,这样就等着报错提示罢了。

from selenium import webdriver
from time 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值