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

使用Selenium 3.8运行示例脚本遇java.lang.VerifyError错误求助

解决Selenium 3.8中java.lang.VerifyError: Cannot inherit from final class错误的方案

我碰到过好几个开发者遇到这个问题,大多都是依赖冲突或者版本不兼容在搞鬼,下面是几个最常见的排查和解决方向:

  • 先排查依赖版本冲突
    这个错误最常见的原因是项目里的依赖包版本“打架”了。比如Selenium 3.8本身依赖特定版本的Guava(23.0版本),如果你的项目同时引入了更高或更低版本的Guava,就会导致类加载时出现冲突,触发这个验证错误。
    你可以用依赖分析工具来揪出冲突:

    • Maven项目:执行mvn dependency:tree命令,查看依赖树,找出重复或版本不一致的依赖,比如Guava、Apache Commons这类Selenium依赖的库。
    • Gradle项目:运行./gradlew dependencies任务,同样检查依赖树。
      找到冲突后,通过排除不兼容的依赖来解决,比如在Maven里排除Selenium自带的Guava,然后手动引入兼容的23.0版本:
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.8.0</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>23.0</version>
    </dependency>
    
  • 确认Selenium组件完整性
    检查你是否引入了Selenium 3.8的所有必要组件,比如selenium-java、selenium-api、对应浏览器的驱动包(比如selenium-chrome-driver)。如果是手动下载jar包,有没有损坏或缺失的情况?如果是用构建工具管理的,试试清理本地仓库后重新下载依赖,比如Maven的mvn clean install -U命令。

  • 检查JDK版本是否兼容
    Selenium 3.8要求JDK版本至少是1.8,如果你的项目用的是1.7或更低版本,就可能出现类验证错误。确认一下项目的JDK配置,切换到1.8及以上版本试试。

  • 检查代码是否违规继承final类
    最后,看看你的代码里有没有尝试继承Selenium中被标记为final的类。Selenium的一些核心类(比如某些内部实现类)是不允许被继承的,如果你的自定义类不小心继承了这类final类,就会直接抛出这个错误。仔细检查你的代码,特别是继承WebDriver相关类的部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:38:51