Selenium启动Chrome报错:ChromeDriver仅支持Chrome 100版本如何解决
Selenium启动报错解决方案
1. SLF4J日志告警处理
该告警无核心功能影响,只是项目缺少SLF4J对应的日志实现类,默认使用空日志实现导致无法打印SLF4J日志:
- 若不需要SLF4J日志输出,可直接忽略该提示,不影响脚本正常运行
- 若要消除告警,在项目依赖中引入SLF4J的简单实现即可,Maven项目添加如下依赖:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.36</version> </dependency>
2. SessionNotCreatedException 会话创建失败处理
报错根因:当前运行的ChromeDriver版本为100,与本地安装的102.0.5005.63版本Chrome浏览器大版本不匹配,Selenium 4.2.0版本未内置自动驱动匹配能力,默认加载了环境变量/项目中旧版本的ChromeDriver
可任选以下一种方案解决:
- 方案一:手动匹配对应版本驱动
下载102.0.5005.63版本对应的ChromeDriver,解压到本地自定义目录,初始化驱动前显式指定驱动路径即可,示例代码:// 替换为你本地chromedriver.exe的实际存放路径 System.setProperty("webdriver.chrome.driver", "C:\\drivers\\chromedriver.exe"); ChromeDriver driver = new ChromeDriver(); - 方案二:升级Selenium版本使用内置自动驱动管理
将Selenium依赖升级到4.6.0及以上版本,高版本内置Selenium Manager组件,会自动检测本地Chrome浏览器版本,自动下载匹配的ChromeDriver,无需手动下载驱动、无需配置驱动路径,直接初始化驱动即可:ChromeDriver driver = new ChromeDriver(); - 方案三:引入第三方驱动管理组件(不升级Selenium的可选方案)
引入WebDriverManager依赖,在驱动初始化前执行自动匹配逻辑,组件会自动下载适配当前Chrome版本的驱动,无需手动配置路径,示例代码:WebDriverManager.chromedriver().setup(); ChromeDriver driver = new ChromeDriver();
核心校验规则:ChromeDriver与Chrome浏览器的大版本号必须保持一致,即可避免该类版本不匹配报错。
内容的提问来源于stack exchange,提问作者LChoudhary
相关产品推荐
相关产品推荐

