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()就是等到这个条件不成立,直到找不到某个元素为止,直到页面没有哪个元素。








      


  • 相关阅读:
    MCMC算法解析
    深度学习结合SLAM研究总结
    语义SLAM研究现状总结
    Tensorflow--矩阵切片与连接
    faster-rcnn原理讲解
    Tensorflow 大规模数据集训练方法
    SPP-net原理解读
    Batch Normalization原理
    RCNN算法的tensorflow实现
    Tensorflow基本操作理解
  • 原文地址:https://www.cnblogs.com/anhao-world/p/14519710.html
Copyright © 2011-2022 走看看