zoukankan      html  css  js  c++  java
  • python selenium web自动化的三种等待的区别

    1.强制等待。   不常用

      sleep(秒)

    2.隐性等待。 不常用。

      适用条件是查找元素和等待命令的执行完成。

      implicitly_wait(秒)

      如果单位是 30 秒,不会傻等 30 秒,如果你在 30 秒内找到了一个元素,比如第 15 秒找到了,那么后面 15 秒就不再等了,在找到的时候就马上去执行下一步,所以是种智能等待方式。

      只要在这个时间上限之内,这个元素出现了,什么时候出现就什么时候不再等待。如果超过 30 秒还没有出现,就会抛出异常“TimeoutExceiption”,提示等待超时了,元素至今还没有出现。但是它是整个会话周期有效的。

    3.必须掌握"显性等待"

      WebDriverWait(driver,等待时长,轮循周期).until()/until_not()

      明确提出到底要等什么,这个就叫做显性,非常明显的条件。

      明确等到某个条件满足后,再去执行下一步。

      第一部分是等待,第二部分是条件。

    等待:

    由两个东西来完成,第一个是WebDriverWait类,它是个显性等待类,这个类中处理的事有什么呢?

    WebDriverWait类初始化的条件:

    driver:第一个是会话对象,就是说它要知道在哪个会话基础上去等待什么样的条件完成,知道是在哪个页面。

    等待时长:也就是最多等多少秒,例如等 20 秒,20 秒以内,啥时候出现都不成问题。

    轮循周期:是多久去看一次,比如轮循周期是 1 秒钟,就是每一秒去看下这个条件是否成立。

    如果它每隔多少秒去看了下,最终在你等待的时限之内,还没有找到一样的,会报TimeoutException

    条件:

    until()

    until是直到某某某条件成立,条件写在()里面的。

    直到什么条件成立,等到这个条件成立,until_not()就是等到这个条件不成立,直到找不到某个元素为止,直到页面没有哪个元素。








      


  • 相关阅读:
    关于vue2.x使用axios以及http-proxy-middleware代理处理跨域的问题
    vue-resource的使用
    从头开始开发一个vue幻灯片组件
    图与例解读Async/Await
    浅谈web缓存
    APICloud框架——总结一下最近开发APP遇到的一些问题 (三)
    编写现代 CSS 代码的 20 个建议
    仿微信联系人列表滑动字母索引
    初来乍到,向各位大牛虚心学习
    转发80端口的脚本
  • 原文地址:https://www.cnblogs.com/anhao-world/p/14519710.html
Copyright © 2011-2022 走看看