zoukankan      html  css  js  c++  java
  • selenium python学习笔记---添加等待时间

    http://selenium-python.readthedocs.io/waits.html

    有时候为了保证脚步运行的稳定性,需要在脚本中添加等待时间

    • 添加休眠:需要引入time包,选择一个固定的时间的等待。实例:import time .... time.sleep(2)
    • 智能等待:通过添加implicitly_wait(),可以在一个时间范围内智能等待。隐式地等待一个元素被发现或一个命令完成:这个方法每次会话只需要调用一次。实例:browser.implicitly_wait(30),
    • 在webDriver中提供了WebDriverWait类,可以智能的等待页面元素加载完成再执行操作。

      在设置时间内,默认每隔一段时间检测

      检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常,

      WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

      ——driver:WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)

      ——timeout:最长超时时间,默认以秒为单位

      ——poll_frequency:休眠时间的间隔(步长)时间,默认为 0.5 秒

      ——ignored_exceptions:超时后的异常信息,默认情况下抛 NoSuchElementException 异常

      实例:

    如1:element = WebDriverWait(driver, 10).until(lambda

        x : x.find_element_by_id("id"))

           element.send_keys("selenium")

    如2:element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“Id”))

                is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda

     x: x.find_element_by_id(“someId”).is_displayed())

    WebDriverWai()一般由 unit()或 until_not()方法配合使用:

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

    判断元素存在与否:

    def isPresent(self):

      try:

        driver.find_element_by_xpath(Xpath)

      excep NoSuchElementException,e:

        return False

      else:

        return True

  • 相关阅读:
    hive原理和调优
    python+Eclipse+pydev环境搭建
    使用eclipse上Tomcat插件配置域名、端口号、启动时间详解
    java工具包一:日期处理
    枚举传参,枚举使用详解
    java面试题大全
    八:Lombok 安装、入门
    Java8一:Lambda表达式教程
    七:程序员必读书单
    二:熟悉 TCP/IP 协议
  • 原文地址:https://www.cnblogs.com/saryli/p/4293670.html
Copyright © 2011-2022 走看看