python自动化的三种等待方式

python自动化的三种等待方式

等待方式
作用–提升自动化的成功率,在指定的地方进行等待,以便于子系统响应,在继续进行
等待的三大等待方式

1,强制等待

sleep()--单位是s
不看运行时状态,到了等待就直接停下来
优势:简单入门,调试神器
缺点:只能够对单次神效,没有判断,会浪费大量时间
from selenium import webdriver
import time
chrome = webdriver.Chrome()#浏览器实例化
chrome.get('https://www.baidu.com')#访问百度
time.sleep(5)#在页面等待5秒
chrome.close()#关闭浏览器

2,隐式等待

藏起来的等待---一次设置,终身有效
作用--设置全局等待-每一次操作,如遇到加载中-就会进入隐式等待阶段--直至页面加载完成如遇到元素找不到,在到了最长等待时间后报错
优势:设置一次即可
缺点:必须等待页面完成,在可以进入后续的等待,静态资源--会浪费大量时间
from selenium import webdriver


chrome = webdriver.Chrome()#浏览器实例化
driver.implicitly_wait(5)#设置等待对象--参数输入最长等待时间-时间单位是s
chrome.get('https://www.baidu.com')#访问百度,百度网页打开完毕后,也就是不转圈后
chrome.find_element_by_id('kw')#去找id为kw的元素,最长时间为5s,找不到会返回异常
chrome.close()#关闭浏览器

3,显示等待

光明正大的等待-专门等待指定的元素对象
优势:专门用于等待某个元素
缺点:只能单次等待,对单个元素神效
from selenium import webdriver
from selenium.webdriver.support.wait import webdeiverwait#导入显示等待方式
chrome = webdriver.Chrome()#浏览器实例化
chrome.get('https://www.baidu.com')
webdeiverwait(chromer, 10, 0.5).until(chrome.find_element_by_id('kw'))#until里面是等待的元素,每隔0.5s自动找寻一次id为kw的元素,最长找寻时间为10s

#webdeiverwait(chromer, 10, 0.5).until(lamba el: chrome.find_element_by_xpath())#until里面是等待的元素,也可以导入匿名对象
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值