隐式等待和显式等待

隐式等待和显式等待

 需要加等待的原因

 

selenium的三种等待方式

  1. 直接等待
  2. 隐式等待
  3. 显式等待

  直接等待

  强制等待,线程休眠一定时间

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代表解元祖 ,且这个用的最多

 

 

 

 

 

 用作判断,返回值是布尔值的如下

 

posted @ 2021-11-17 23:39  云啊云的囤粮地  阅读(93)  评论(0编辑  收藏  举报