测试, 强制等待 ,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 中使用显式等待与隐式等待?

转 Python selenium 强制等待显示等待隐式等待

appium等待元素

Selenium3自动化测试25强制等待&隐式等待

Selenium 三种等待方式(强制等待、隐式等待、显示等待)