提起selenium中的等待,最先浮入你脑海的会是什么呢?
- time sleep?
- 显式等待?
- 隐式等待?
- …………
1.time sleep()
可以称其为暂停等待,当设置为time.sleep(3)时意味着程序在等待3s后才会执行下一步查找下一位元素,比较适合没有大幅度跳转的页面,尽量少用,不推荐使用。
2.显式等待
用法为:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
WebDriverWait(driver, timeout, poll_frequency=xxx)
- timeout 超时时间,即等待上限值,单位为s
- poll_frequency=0.5,休眠时间的间隔(步长)时间,也可以理解为轮询等待间隔,默认为 0.5 秒,这个参数可以不写,不写就是默认的,如WebDriverWait(driver, 10)意思为10秒内每隔0.5毫秒会扫描1次页面寻找元素,直到指定的元素出现,同时也支持自定义。
3.隐式等待
用法为:driver.implicitly_wait( )
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
这个等待可以理解为全局等待,在定位元素时,对该页面的所有元素设置超时时间,超出了设置时间则抛出异常。
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "Helvetica Neue" }
原文地址:https://www.cnblogs.com/test0/p/9893128.html