- 什么是元素等待?
元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找打元素,抛出未找到元素异常。
2.元素等待的分类?
元素等待分为显示等待和隐式等待。
隐式等待:定位元素时,如果能定位到元素则直接返回该元素,不触发等待;如果不能定位到该元素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出元素不存在的异常: NoSuchElementException。
显示等待:定位指定元素时,如果能定位到元素则直接返回该元素,不触发等待;如果不能定位到该元素,则间隔一段时间后再去定位元素;如果在达到最大时长时还没有找到指定元素,则抛出超时异常:TimeoutException。
3.两种元素等待的运用
(1)隐式等待的使用:针对所有元素生效,一般情况下为前置必写代码。如
(2)显示等待的使用:针对单个元素生效。
导包:
from selenium.webdriver.support.wait import WebDriverWait
方法:
实例化等待对象:
wait = WebDriverWait(driver,timeout=10,poll_frequency=0.5)