Selenium的三种等待方式(强制等待、隐性等待、显性等待)

Selenium的三种等待方式强制等待、隐性等待、显性等待

强制等待

from time import sleep   
sleep(10)  
# 强制等待10秒再执行下一步
缺点:是不管资源是不是完成,都必须等待

隐性等待

driver.implicitly_wait(20)

# 设置全局元素等待超时时间20秒
#设置一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步,超出设置的时长20秒还没有定位到元素,则抛出异常。
缺点:程序会一直等待整个页面加载完成,直到超时,但有时候我需要的那个元素早就加载完成了,只是页面上有个别其他元素加载特别慢,我仍要等待页面全部加载完成才能执行下一步。
注意:对driver起作用,所以只要设置一次即可,没有必要到处设置

显性等待

需先引用相关的库

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

语法:

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

例如:等待百度输入框元素出现,每隔0.5秒去查看kw元素是否出现,共检查5秒&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值