zoukankan      html  css  js  c++  java
  • selenium等待三种等待

    selenium分三种等待方式,分别是sleep,implicitly_wait,WebDriverWait三种

    1.显性等待

    意思是:隔一段时间timeout看一次,条件成立,继续运行,否则抛出TimeOutException异常

    备注:用一次写一次

    WebDriverWait(self,driver,timeout,poll_frequency=POLL_FREQUENCY,ignored_exceptions=None)

    # coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    WebDriverWait(driver,10).until(lambda driver : driver.find_element_by_id("kw")).send_keys("python")

     2.强制等待

    这是Python中自带的,不管元素是否加载完成后,sleep(x),继续执行

    # coding=utf-8
    from selenium import webdriver
    from time import sleep
    
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    sleep(2)  # 强制等待2s
    driver.find_element_by_id("kw").send_keys("python")

     3.隐性等待

    implicitly_wait(x)   等待x秒,不管有没有加载,继续执行

    备注:全局的,只需要写一次

    # coding=utf-8
    from selenium import webdriver
    
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    driver.implicitly(30) # 隐性时间最长为30s
    driver.find_element_by_id("kw").send_keys("python")
  • 相关阅读:
    持续集成环境搭建(一)
    The POSIX API/nss/nscd
    [postfix]转发邮件设置
    [python]python安装包错误
    栈及栈帧讲解
    kernel-init-bash
    nginx no input file specified
    Lumen/Laravel调试API接口利器laravel-debugbar
    homestead实现外部局域网络其他主机的访问
    PHP rabbitmq扩展安装
  • 原文地址:https://www.cnblogs.com/ds-123/p/11751247.html
Copyright © 2011-2022 走看看