1. 什么是元素等待以及为什么要等待
    1.1 概念:
    在定位页面元素时如果未找到,会在指定时间内一直等待的过程
    1.2 为什么需要元素等待
    在使用Selenium进行元素定位时, 可能会出现页面还mei
    (1).网络速度慢
    (2).电脑配置低
    (3).服务器处理请求慢
  2. 元素等待类型及实现

    1.等待类型:

    (1).隐式等待: 定位元素时,如果能定位到元素则直接返回该元素,不触发等待;如果不能定位到该元 素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出元素 不存在的异常NoSuchElementException。
    (2).显式等待: 定位指定元素时,如果能定位到元素则直接返回该元素,不触发等待 如果不能定位到该元素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出超时异常TimeoutException。

    2.实现方式:

    (1).隐式等待:

    driver.implicitly_wait(timeout)

(2).显式等待:

1).导包: from selenium.webdriver.support.wait import WebDriverWait 
2).实例化对象: WebDriverWait(driver, timeout, poll_frequency=0.5) 
    - driver:浏览器驱动对象 
    - timeout:超时的时长,单位:秒 
    - poll_frequency:检测间隔时间,默认为0.5秒 
3).用方法until(method):直到...时 
    - method:函数名称,该函数用来实现对元素的定位 
    - 一般使用匿名函数来实现:lambda x: x.find_element_by_id("userA") 
4).element = WebDriverWait(driver, 10, 1).until(lambda x:x.find_element_by_id("userA") )
最后修改:2021 年 09 月 18 日
如果觉得我的文章对你有用,请随意赞赏