测试, 强制等待 ,driver / 隐式 / 显示等待
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试, 强制等待 ,driver / 隐式 / 显示等待相关的知识,希望对你有一定的参考价值。
强制等待
time.sleep() ,(不建议)
隐式等待
设置一个时间,轮循查找(默认0.5秒)
self.driver.implicitly.wait()
全局范围
显示等待
程序每隔一段时间(默认0.5秒)进行条件判断,如果条件成立,执行下一步,否则继续等待,直到超过设置的最长时间
WebDriverWait 包含的参数为:
- driver webdriver 实例对象
- timeout:最长等待时间,单位秒
- poll_frequency=POLL_FREQUENCY:检测的间隔步长,默认为 0.5s
- ignored_exceptions=None:执行过程中忽略的异常对象,默认只忽略 TimeoutException 异常类
WebDriverWait
配合until(),until_not()
until()函数传一个方法,如果方法返回结果为true,则执行下一步,为false,则继续等待
可结合expected_conditions使用
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
locator = (MobileBy.XPATH, "//*[@text='']")
# presence_of_element_located(locator))
# 判断元素是否被加入进 DOM 树中,并不代表元素一定可见
WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located(locator))
# visibility_of_element_located(locator)
# 判断元素是否可见
WebDriverWait(driver, 10).until(expected_conditions.visibility_of_element_located(locator))
# element_to_be_clickable(locator)
# 判断元素是否可见且可点击
WebDriverWait(driver, 10).until(expected_conditions.element_to_be_clickable(locator))
以上是关于测试, 强制等待 ,driver / 隐式 / 显示等待的主要内容,如果未能解决你的问题,请参考以下文章
何时在 Selenium Webdriver 中使用显式等待与隐式等待?
何时在 Selenium Webdriver 中使用显式等待与隐式等待?