Python_selenium_强制等待、隐性等待、显性等待区别

强制等待:

time模块中的sleep(a)a代表的是秒数

在a秒后不管当前是否要进行什么操作,都会运行sleep后的代码。

如下代码,先打开百度这个网址,然后再打开的百度的同时就开始计时2秒,到时间直接进入京东网址,然后进入百度网址(这里注意,不是京东加载完才开始执行百度网址,而是刚打开京东,然后就开始打开百度网址了),在进入京东网址的同时就开始计时3秒,到时间不管是否加载完都执行下面的关闭语句。

from selenium import webdriver
a=webdriver.Chrome()
a.get('https://www.baidu.com/')
time.sleep(2)
a.execute_script('window.open("https://www.jd.com/")')
a.execute_script("window.open('https://www.baidu.com/')")
time.sleep(3)
# a.close()
a.quit()

隐性等待:

implicitly_wair(a),这个a代表的也是秒数,和sleep不一样的是,这里的a代表的是设置了一个最长要等待的时间。意思是我在这里等你a秒,你如果早一点加载完,那我们就进行下一步,要么我最多等你a秒,过时间我就开始让执行下一个了。

显性等待:

WebDriverWait,显性等待一般是配合unit()和unit_not()方法使用的,意思是用了显性等待就是程序每隔一个固定的时间就会检查我们的需求有没有达到,达到了就执行下一步,没达到就接着等下一次检测。相对比隐性会节省时间,因为在隐性中可能我们要的需求已经出来了,但是页面还未加载完,那么这时候我们还要等待我们不需要的其他数据加载完在执行下一步,浪费时间,这里就可以使用到显性等待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值