zoukankan      html  css  js  c++  java
  • 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。

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    driver=webdriver.Firefox()
    driver.get()
    WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id("someId"))

    #通过检查某个元素是否被加载来检查是否登录成功,我认为当个黑盒子用就可以了。其中10的解释:10秒内每隔0.5毫秒扫描1次页面变化,直到指定的元素

  • 相关阅读:
    Go基础数据类型
    在foreach中使用distinct查找不重复记录
    DataTable,List去重复记录的方法(转载)
    ArcEngine的IMap接口(转载)
    根据Excel表格建立Shp文件(开发详解及源代码)(转载)
    axmapcontrol和mapcontrol有什么区别呢(转发)
    DataSet多表查询操作(转载)
    c#调用DLL(转载)
    wall 系列技术贴
    ArcEngine的IFeaturLayer接口(转载)
  • 原文地址:https://www.cnblogs.com/yrxns/p/7232533.html
Copyright © 2011-2022 走看看