You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Selenium版本后遇WebDriverWait构造函数未定义错误求解决方案

解决Selenium升级后WebDriverWait构造方法报错问题

升级Selenium到4.x及以上版本后,原有的new WebDriverWait(WebDriver, int)构造方法被移除,因此会触发报错The constructor WebDriverWait(WebDriver, int) is undefined,这是官方API的破坏性更新,直接用以下方式解决即可:

正确调用方式

不需要自己重写WebDriverWait的构造方法,直接使用官方提供的带Duration参数的构造方法:

  • 基础用法(仅指定超时时间):
// 导入java.time.Duration类
import java.time.Duration;
import org.openqa.selenium.support.ui.WebDriverWait;

// 初始化等待对象,设置10秒超时
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
  • 进阶用法(指定超时时间+轮询间隔):
    如果需要自定义轮询元素的间隔时间(默认是500毫秒),可以使用重载构造方法:
// 10秒超时,每300毫秒轮询一次
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10), Duration.ofMillis(300));

你尝试方案的问题说明

你贴出的代码是WebDriverWait类的源码构造方法,完全不需要自己去重写该方法——直接调用官方类的构造方法即可,核心是替换掉原来的int类型超时参数,改用Duration类来定义时长。另外要确保已经正确导入java.time.Duration,避免包导入错误。

内容的提问来源于stack exchange,提问作者janhvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:18:13