selenium等待方式

selenium等待方式

显式等待

wait = WebDriverWait(driver, timeout=10, poll_frequency=1, ignored_exceptions=[ElementNotVisibleException, ElementNotSelectableException])
element = wait.until(lambda d: d.find_element_by_tag_name("p"),)

WebDriverWait构造器参数

参数 描述
driver 浏览器对象
timeout 最大等待时间
poll_frequency 检查频率,默认0.5秒
ignored_exceptions 忽略的异常列表, 如果写了异常类,那么查找元素时抛出这个列表的异常将被忽略, 默认是NoSuchElementException

until方法参数

参数 描述
method 接收一个方法, 这个方法当返回值为true时则返回这个值
message 查找失败时,抛出异常携带的消息

隐式等待

隐式等待是告诉WebDriver如果在查找一个或多个不是立即可用的元素时轮询DOM一段时间。
警告: 不要混合使用隐式和显式等待。这样做会导致不可预测的等待时间。例如,将隐式等待设置为10秒,将显式等待设置为15秒,可能会导致在20秒后发生超时。

driver.implicitly_wait(10)
posted @ 2022-06-22 03:25  silence022  阅读(102)  评论(0)    收藏  举报