首页 > 其他 > 详细

显式等待与隐式等待

时间:2020-09-26 22:02:38      阅读:59      评论:0      收藏:0      [点我收藏+]

简介

  在实际工作中等待机制可以保证代码的稳定性,从而代码不会因为网速,电脑性能等条件的约束而影响运行结果

  等待就是当运行代码时,页面的渲染速度跟不上代码的运行速度时,就需要人为的去限制代码的执行速度

  所以,一般在做web自动化时,都要等待页面元素加载完成后,才能执行操作,否则会报找不到元素等各种错误

  因此,就要求我们在某些场景下添加上等待时间

最常见的有三种等待方式

  隐式等待:设定一个等待时间,轮询查找元素是否出现 (默认0.5秒) ,若未找到就抛出异常

  注意:隐式等待的作用是全局的

  self.driver.implicitly_wait(30)

 

  显式等待:即在代码中定义等待一定条件发生后再进一步执行代码。

  使用WebDriverWait配合该类的until()和until_not()方法,就能更具判断条件进行等待。

  程序每隔一段时间 (默认0.5秒) 进行条件判断,成立则执行下一步;否则继续等待,直到超时

  所以,当隐式等待不起作用时,就需要用到显式等待了。以下为示例:

  1.引入依赖

    from selenium.webdriver.support.wait import WebDriverWait

    from selenium.webdriver.support import expected_conditions

    from selenium.webdriver.common.by import By

    WebDriverWait(driver, 10).until(expected_conditions.element_to_be_clickable(By.TAG_NAME, "title"))

  强制等待:即在显式等待和隐式等待都不起作用时使用,具体根据实际场景选择使用

    time.sleep(3)

__________________________________________________________________________________________

显式等待与隐式等待

原文:https://www.cnblogs.com/zxycb/p/13736257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!