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

Selenium 3.14迁移至4.8.1时SessionNotCreatedException报错求助

解决Selenium 4.8.1迁移中的SessionNotCreatedException(Guava方法缺失)

你遇到的SessionNotCreatedException本质是Guava版本不兼容导致的方法缺失:Selenium 4.x对Guava的版本要求远高于Selenium 3.14,旧版本Guava没有ImmutableMap.of的12参数重载方法,因此抛出NoSuchMethodError。

以下是具体解决步骤:

  • 强制升级Guava到兼容版本
    Selenium 4.8.x要求Guava 31.1-jre及以上版本,直接在项目依赖中指定该版本:
    Maven(pom.xml):

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.1-jre</version>
        <scope>compile</scope>
    </dependency>
    

    Gradle(build.gradle):

    implementation 'com.google.guava:guava:31.1-jre'
    
  • 排除冲突的旧Guava依赖
    第三方库(如TestNG、其他测试组件)可能引入低版本Guava,需在依赖中排除这些冲突:
    Maven示例(以TestNG为例):

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>7.7.1</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 验证依赖树
    执行命令确认最终依赖的Guava版本是否正确:
    Maven:

    mvn dependency:tree | grep guava
    

    Gradle:

    gradle dependencies | grep guava
    

    确保输出版本为31.1-jre或更高。

  • 清理并重新构建项目
    清理本地仓库的旧依赖缓存,重新构建项目:
    Maven:

    mvn clean install -U
    

    Gradle:

    gradle clean build --refresh-dependencies
    

额外注意:Selenium 4.x迁移时,需同步确保ChromeDriver版本与Chrome浏览器版本匹配(ChromeDriver 111+对应Selenium 4.8.x),避免触发其他浏览器启动失败类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:42:42