美文网首页
隐式等待和显示等待

隐式等待和显示等待

作者: Xyxtank | 来源:发表于2019-10-30 19:13 被阅读0次

    一、背景

    在打开应用程序的页面时,总会有加载的时间,有时候在获取页面元素时,页面还没有加载完毕,导致无法定位某些想要获取的元素,此时就需要利用等待方法。

    二、隐式等待

    • 方法:driver.implicitly_wait(时间)

      driver.implicitly_wait(5)
      
    • 作用:设置隐式等待后,后续所有的定位元素的方法,都会在这个时间内等待元素的出现,如果出现进行下一步操作,若没有出现则报错。

    三、显示等待

    • 方法:WebDriverWait(driver,时间,频率).until(方法)

      from selenium.webdriver.support.wait import WebDriverWait
      WebDriverWait(driver,5).until(XXX)
      
    • 作用:设置显示等待后,会在设定的时间范围内按照一定的频率查找该元素是否出现(默认查找频率时0.5s,可以在方法中进行修改),若元素出现,则进行下一步操作,若没有出现,则报NoSuchElementException错误。

    四、使用场景

    • 作用域:显示等待对单个元素有效,方法灵活,扩展性强,但是代码量复杂,后续可以通过封装减少使用的复杂度;隐式等待对全局有效,方法不灵活,代码效率不高,但是使用简单。
    • 方法:显示等待 WebDriverWait 对象的 until 方法,隐式等待 driver 的 implicitly_wait 方法。

    相关文章

      网友评论

          本文标题:隐式等待和显示等待

          本文链接:https://www.haomeiwen.com/subject/vcjavctx.html