首页/开发/软件测试速查/Selenium 显式等待
自动化测试66 条

Selenium 显式等待

Selenium 显式等待(WebDriverWait 加 expected_conditions)轮询直到条件成立或超时;相比固定 sleep 更精确,超时报错也带上等待条件与时长。

软件测试速查开发更新于 2026-10-12

等待示例

等待示例
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
el = wait.until(EC.element_to_be_clickable((By.ID, "submit")))
el.click()
Selenium 文档说明:隐式等待与显式等待混用会导致等待时长不可预测,二者选其一。

易错点

  • 只捕获 TimeoutException 而不输出等待条件,失败原因难以复现
  • 等待条件过宽(元素存在就点击),元素尚不可交互即操作

数据来源与参考

  • Selenium 官方文档:Waiting Strategies(selenium.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌