隐式等待和显式等待
隐式等待和显式等待
需要加等待的原因
selenium的三种等待方式
- 直接等待
- 隐式等待
- 显式等待
直接等待
强制等待,线程休眠一定时间
time.sleep(3)
隐式等待
设置一个等待时间,轮询查找(默认0.5秒就轮询一次)元素是否出现,如果没出现就抛出异常
self.driver.implicitly_wait(3)
显式等待
综上所以工作中只用显示等待
每个找元素都得裹上显示等待,用法:三合一,WebDriverWait(driver,10)+util+expected_confitions
- 在代码中定义等待条件,当条件发生时才继续执行代码
- “WebDriverWait” 配合until() 和until_not() 方法,根据判断条件进行等待
- 程序每隔一段时间(默认为0.5秒)进行条件判断,如果条件成立,则执行下一步,否则继续等待,直到超过设置的最长时间
详细用法参考此处:https://blog.csdn.net/dghrty_show/article/details/105061086
visibility_of_element_located(*loacat) *loacat代表解元祖 ,且这个用的最多
用作判断,返回值是布尔值的如下