zoukankan      html  css  js  c++  java
  • 等待时间

    # 1 sleep():固定休眠时间设置,python的time包里提供了休眠方法sleep,
    # 导入包time后就能使用;
    # sleep()方法以秒为单位,如果超时设置小于1秒,可以使用小数
    import time
    from selenium.webdriver.common.by import By
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get('E:pythonhtmlWait.html')
    driver.maximize_window()
    # 隐式等待
    # driver.implicitly_wait(10)
    def highLightElement(driver,element):
    #封装好的高亮显示页面元素的方法
    #使用JavaScript代码将传入的页面元素对象的背景颜色和边框颜色分别
    #设置为绿色和红色
    driver.execute_script("arguments[0].setAttribute('style',arguments[1]);",
    element,"background:green ;border:2px solid red;")
    # time.sleep(1)
    # driver.find_element(By.CSS_SELECTOR,'button#b').click()
    # time.sleep(8)
    # el = driver.find_element_by_class_name('red_box')
    # highLightElement(driver, el)

    # 2 implicitlyWait():implicitlyWait()方法比sleep()方法智能,sleep()方法
    # 只能在一个固定的时间等待,而implicitlyWait()可以在一个时间范围内等待,称为隐式等待
    # driver.implicitly_wait(10)

    # 3、WebDriverWait():显示等待,语法格式如下:
    # WebDriverWait(driver,timeout,poll_frequency=0.5,ignore_exceptions=None)
    # driver:WebDriver的驱动程序(IE,火狐,谷歌或远程)
    # timeout:最长超时时间,默认以秒为单位
    # poll_frequency:休眠时间的间隔(步长)时间,默认为0.5秒(即每500毫秒扫描
    # 一次页面)
    # ignore_exceptions:超时后的异常信息,默认情况下抛
    # NoSuchElementException异常

    from selenium.webdriver.support.ui import WebDriverWait
    driver.find_element(By.CSS_SELECTOR,'button#b').click()
    element = WebDriverWait(driver,10).until(lambda x:x.find_element(By.CSS_SELECTOR,'div.red_box'))
    highLightElement(driver,element)
  • 相关阅读:
    [ASP.NET]ScriptManager控件使用
    [ASP.NET]使用uploadify上传图片,并在uploadify按钮上生成预览图
    [Javascript]js判断是否为undefined类型
    [Bug]转:使用jquery的 uploadify,在谷歌浏览器上总会崩溃的解决方法
    [NHibernate]Nhibernate如何映射sqlserver中image字段
    远程访问CENTOS的MYSQL数据库设置
    DELPHI的一些开源项目GIT地址
    unigui导出EXCEL使用NATIVEEXCEL
    IdHTTPServer(indy10)开发REST中间件
    centos7安装MYSQL
  • 原文地址:https://www.cnblogs.com/ygod323/p/14131283.html
Copyright © 2011-2022 走看看