selenium显示等待和隐式等待

selenium在等待元素时有三种方式:
1.隐式等待:
driver.implicitly_wait(30)

等待一个元素被发现,或一个命令完成,超出了设置时间则抛出异常,此为全局变量,是针对Driver 每次执行命令的 最长执行时间也可以理解为超时时间

2.显示等待:
from selenium.webdriver.support.ui import WebDriverWait

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

wait = WebDriverWait(context.driver, 30)
is_disappeared = wait.until_not(lambda x:x.find_element(by=how, value=what).is_displayed())
element = wait.until(lambda x:x.find_elements_by_xpath(locatorString))


明确的要等到某个元素的出现或者是某个元素的可点击等条件,每隔poll_frequency=0.5(默认值)查找一下元素,等不到,就一直等,除非在规定的时间timeout之内都没找到,那么就跳出Exception。

3.线程等待:
import time
time.sleep(2)


[color=blue][b]Notes:若同时设置了隐式等待和显示等待,则以隐式等待为第一优先级,也就是说,若隐式等待时间大于显示等待,则执行显示等待时,显示等待时间设置无效,因为driver若找不到元素,会先等待隐式等待的时间。[/b][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值