WebDriverWait 是 Selenium 中的一个类,用于等待某个条件成立后再继续执行后续的代码。它可以让程序等待一段时间,直到某个特定的条件得到满足,如果在指定的时间内条件没有满足,则会抛出一个超时异常。
WebDriverWait 类通过指定一个等待时间和一个条件来判断是否继续执行后续代码。这个条件可以是一个 ExpectedCondition 对象或者是一个自定义的条件。ExpectedCondition 是一个接口,它提供了一系列预定义的条件,例如元素是否存在、元素是否可见等。
WebDriverWait 主要有以下几种等待方式:
以下是一个使用 WebDriverWait 等待元素可见的 Python 示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get("http://example.com")
try:
element = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.ID, "myDynamicElement"))
)
finally:
driver.quit()
在这个例子中,WebDriverWait 会等待最多 10 秒,直到 ID 为 "myDynamicElement" 的元素变得可见。
通过合理使用 WebDriverWait,可以有效提高自动化测试脚本的可靠性和稳定性。
领取专属 10元无门槛券
手把手带您无忧上云