检测的间隔步长,默认为0.5s
ignored_exceptions:
超时后的抛出的异常信息,默认抛出NoSuchElementExeception异常 。
3.2、until()和until_not()的方法until
WebDriverWait(driver,10).until(method,message="")
- 调用该方法提供的驱动程序作为参数,直到返回值为True
method:
在等待期间,每隔一段时间(__init__中的poll_frequency)调用这个传入的方法,直到返回值不是Falsemessage:
如果超时,抛出TimeoutException,将message传入异常until_not
- WebDriverWait(driver,10).until_not(method,message="")
- 调用该方法提供的驱动程序作为参数,直到返回值为False
3.3、expected_conditions类各种类,达到某种条件,返回True和False,详细参考下表 。
文章插图
3.4、显示等待,自定义等待条件示例代码如下:
# 设置等待wait = WebDriverWait(driver, 10, 0.5)# 使用匿名函数element = wait.until(lambda diver: driver.find_element(By.ID, 'green_box'))print(element.text)driver.quit()
写在最后其实隐式等待和显示等待在本质上是一致的,只是显示等待多了一个指定元素条件超时时间,在使用场景上,可以使用隐式等待来做一个全局的控制,例如设置全局隐式等待6秒;如果某个控件比较特殊,需要更长的时间加载,比如十几秒或者更长,就可以使用显示等待对其进行单独处理;
参考文章:
https://blog.csdn.net/qq_36821826/article/details/115668538
经验总结扩展阅读
- 辟邪植物盆栽有哪些 六大辟邪盆栽植物排行榜
- 什么盆栽越久越值钱 越养越贵的六种盆栽排行榜
- 沙发旁边适合放什么植物 沙发边上适合放的六种盆栽植物排行榜
- flutter 系列之:flutter 中的幽灵offstage
- 女性办公室适合放什么植物 办公室适合摆放的六大植物排行榜
- Redis系列8:Bitmap实现亿万级数据计算
- .NET性能系列文章二:Newtonsoft.Json vs. System.Text.Json
- 梦幻西游手游妙法试炼第六章怎么通关
- 之六 2流高手速成记:从SpringBoot到SpringCloudAlibaba
- 筷子的长度为什么是七寸六分