讲师中心 微信公众号
AI工具推荐 视频效率加速

Selenium 4.6+ 中 ChromeDriver 初始化失败的解决方案

大枫同学_9656

大枫同学_9656

发布时间:2026-09-15 10:12:38

|

601人浏览过

|

来源于php中文网

原创

Selenium 4.6+ 中 ChromeDriver 初始化失败的解决方案

本文详解 Selenium 4.6 及以上版本中因 Guava 版本冲突导致 NoSuchMethodError 的根本原因,并提供无需 WebDriverManager、零配置启动 ChromeDriver 的标准实践,附完整可运行代码与关键注意事项。

本文详解 selenium 4.6 及以上版本中因 guava 版本冲突导致 `nosuchmethoderror` 的根本原因,并提供无需 webdrivermanager、零配置启动 chromedriver 的标准实践,附完整可运行代码与关键注意事项。

该异常(java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.of(...))并非 ChromeDriver 启动失败的表象问题,而是典型的 依赖版本不兼容 —— 根源在于 Selenium 4.6+ 内部已全面移除对旧版 Guava(如 v29–v31)中多参数 ImmutableMap.of() 方法的调用,转而依赖 Guava v32+ 的新签名;而 WebDriverManager(尤其旧版如 4.x 或未显式升级的版本)可能间接引入了低版本 Guava,导致运行时方法解析失败。

✅ 正确解法:彻底弃用 WebDriverManager,拥抱 Selenium 4.6+ 原生驱动管理机制
自 Selenium 4.6 起,ChromeDriver 构造器已内置自动下载与缓存逻辑(基于浏览器版本匹配),只需确保:

  • 使用官方维护的最新 Selenium Java 绑定(推荐 ≥ 4.15.0)
  • Chrome 浏览器已安装在系统 PATH 中(或通过 chrome.exe 默认路径可访问)
  • 移除所有 WebDriverManager.xxx().setup()System.setProperty(...) 手动配置

以下是修正后的标准代码(简洁、健壮、符合现代最佳实践):

Chrome Automation
Chrome Automation

Linux服务器Chrome自动化方案,支持2K高清截图、表单填写、自动登录、反爬虫绕过,适用于B站、YouTube等平台自动化。

下载
package POMs;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class AMCDaeralogin {
    public static WebDriver driver;

    public static void main(String[] args) {
        setup();
        // 示例:打开页面并验证
        driver.get("https://www.google.com");
        System.out.println("Title: " + driver.getTitle());
        driver.quit();
    }

    public static void setup() {
        // ✅ Selenium 4.6+ 原生支持:无需 WebDriverManager,无需 setProperty
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--no-sandbox", "--disable-dev-shm-usage");
        // 可选:启用无头模式(CI/服务器环境推荐)
        // options.addArguments("--headless");

        driver = new ChromeDriver(options);
        driver.manage().window().maximize();
    }
}

? 关键注意事项:

  • Maven 依赖必须纯净:检查 pom.xml,确保仅声明 selenium-java(如 <version>4.15.0</version>),完全移除 webdrivermanager 依赖;若已存在,请删除对应 <dependency></dependency> 块并执行 mvn clean compile
  • 避免 Guava 冲突:运行 mvn dependency:tree | grep guava,确认项目中仅存在 Guava ≥ 32.0-jre(Selenium 4.15+ 自带)。若发现低版本(如 29.0-jre),需通过 <exclusion></exclusion> 排除传递依赖。
  • Chrome 版本兼容性:Selenium 4.15 默认适配 Chrome 115–124。请通过 chrome --version 确认本地 Chrome 版本,并参考 Selenium Changelog 匹配支持范围。
  • 生产环境建议:使用 ChromeOptions 显式配置基础参数(如 --no-sandbox 在 Linux 容器中必需),而非依赖默认行为。

总结:该错误本质是技术栈演进过程中的依赖治理问题。拥抱 Selenium 原生能力、精简依赖、保持版本同步,是构建稳定自动化框架的基石。

热门AI工具

更多
讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
软件测试常用工具
软件测试常用工具

软件测试常用工具有Selenium、JUnit、Appium、JMeter、LoadRunner、Postman、TestNG、LoadUI、SoapUI、Cucumber和Robot Framework等等。测试人员可以根据具体的测试需求和技术栈选择适合的工具,提高测试效率和准确性 。

3890

2023.10.13

java测试工具有哪些
java测试工具有哪些

java测试工具有JUnit、TestNG、Mockito、Selenium、Apache JMeter和Cucumber。php还给大家带来了java有关的教程,欢迎大家前来学习阅读,希望对大家能有所帮助。

2341

2023.10.23

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

140

2026.09.16

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

60

2026.09.16

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

60

2026.09.16

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

40

2026.09.16

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

40

2026.09.16

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

360

2026.09.11

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

120

2026.09.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十三期_前端开发
第二十三期_前端开发

共98课时 | 11.3万人学习

Node.js基础教程
Node.js基础教程

共8课时 | 1.5万人学习

nodejs开发基础教程
nodejs开发基础教程

共15课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn