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

使用Selenium-Eclipse测试应用时出现java.lang.NoSuchMethodError错误

解决Selenium 4中java.lang.NoSuchMethodError: 'java.lang.String org.openqa.selenium.Capabilities.getBrowserVersion()'错误

这个错误的核心原因是Selenium依赖版本不兼容:getBrowserVersion()是Selenium 4.x新增的方法,若项目中混合了Selenium 3.x与4.x依赖,或不同Selenium组件(如selenium-java、浏览器驱动依赖)版本不一致,就会触发该错误。

以下是具体解决步骤:

  • 统一所有Selenium相关依赖的版本到同一个稳定的4.x版本(比如4.15.0),确保不存在3.x版本的Selenium包。
  • 检查POM文件,保证所有selenium-*开头的依赖版本完全一致,示例:
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.15.0</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>4.15.0</version>
</dependency>
  • 清理依赖缓存,避免旧版本包残留:
    • Maven执行:mvn clean install -U
    • Gradle执行:gradle clean build --refresh-dependencies
  • 排查第三方框架间接引入的旧版Selenium依赖:
    • 用Maven命令查看依赖树:mvn dependency:tree,找出带有3.x版本的Selenium依赖项,在对应第三方依赖中添加排除规则,示例:
<dependency>
    <groupId>第三方框架groupId</groupId>
    <artifactId>第三方框架artifactId</artifactId>
    <version>对应版本</version>
    <exclusions>
        <exclusion>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • 代码层面避免使用旧版API:不要强转Capabilities为DesiredCapabilities(Selenium 4中已标记为过时),改用浏览器专属的Options类(如ChromeOptions)配置能力,再通过options.getCapabilities()获取兼容的Capabilities实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:12:42