• 设置等待时间


    1、WebDriverWait()——显式等待

     

     一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。

    需要导入WebDriverWait包

    #导入 WebDriverWait 包
    from selenium.webdriver.support.ui import WebDriverWait

    2、implicitly_wait()——隐式等待

    相当于设置全局的等待,在定位元素时,对所有元素设置超时时间。

    隐式等待一个元素被发现或一个命令完成。如果超出了设置时间则抛出异常。

     

    3、sleep()——强制等待

    设置固定休眠时间

    #导入 time 包
    import time

    4、练习

     1 #coding=utf-8
     2 from selenium import webdriver
     3 
     4 #导入 WebDriverWait 包
     5 from selenium.webdriver.support.ui import WebDriverWait
     6 
     7 #导入 time 包
     8 import time
     9 
    10 driver = webdriver.Firefox()
    11 driver.get("http://www.baidu.com")
    12 
    13 #WebDriverWait()方法使用
    14 element = WebDriverWait(driver,10).until(lambda driver:driver.find_element_by_id("kw"))
    15 element.send_keys("selenium")
    16 
    17 #添加隐式等待
    18 driver.implicitly_wait(30)
    19 driver.find_element_by_id("su").click()
    20 
    21 #添加固定休眠时间
    22 time.sleep(2)
    23 
    24 driver.close()
    View Code

    5、WebDriverWait()方法详解

    WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
      driver - WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
      timeout - 最长超时时间,默认以秒为单位
      poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5
      ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException 异常。

    WebDriverWai()一般由 unit()until_not()方法配合使用,下面是 unit()until_not()方法的说明。

    • until(method, message=’ ’)调用该方法提供的驱动程序作为一个参数,直到返回值不为 False

     

    • until_not(method, message=’ ’)调用该方法提供的驱动程序作为一个参数,直到返回值为 False
  • 相关阅读:
    case when then 根据不同条件 查询不同的数据 相当于 if-else if-else
    完美的拼接sql语句,中间可以加字符等东西,
    C++抽象类
    C #引用NuGet程序包MySQLData问题
    win10磁盘100%占用解决方法
    C# ASP.NetCore 检测到包降级
    VS 命令“npm install”已退出的问题
    序列化和反序列化含义
    数据库MySQL忘记本地密码
    MongoDB授予权限
  • 原文地址:https://www.cnblogs.com/huiguniang/p/7089657.html
Copyright © 2020-2023  润新知