如何为Selenium Java自动安装适配版本的chromedriver
Java Selenium 自动安装最新版ChromeDriver解决方案
方案一:使用WebDriverManager(推荐)
这是Java生态下对应Python同类工具的成熟实现,无需手动管理驱动版本,启动时自动匹配本地Chrome浏览器的版本、下载对应适配的最新ChromeDriver,同时支持缓存避免重复下载,也可兼容Firefox、Edge等其他浏览器的驱动自动管理。
引入依赖
Maven项目在pom.xml中添加:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.6.3</version> </dependency>
Gradle项目在build.gradle中添加:
implementation 'io.github.bonigarcia:webdrivermanager:5.6.3'
使用示例
仅需在初始化ChromeDriver前添加一行配置即可:
import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.WebDriver; public class CrawlerStartup { public static void main(String[] args) { // 自动检测本地Chrome版本,下载对应最新兼容ChromeDriver并自动配置系统属性 WebDriverManager.chromedriver().setup(); // 后续正常初始化驱动即可 WebDriver driver = new ChromeDriver(); // 你的爬虫业务逻辑 driver.quit(); } }
如果需要固定驱动版本,也可以手动指定:WebDriverManager.chromedriver().version("118.0.5993.70").setup();
方案二:自研轻量自动下载逻辑
如果不想引入第三方依赖,可以自行实现核心逻辑,步骤如下:
- 获取本地安装的Chrome浏览器的主版本号:Windows端可读取注册表或调用Chrome.exe执行版本查询命令,macOS/Linux端可直接执行
google-chrome --version命令获取版本 - 根据得到的Chrome版本,匹配对应兼容的最新ChromeDriver版本
- 下载对应系统架构的ChromeDriver压缩包,解压到本地可访问目录
- 代码中配置
System.setProperty("webdriver.chrome.driver", "解压后的驱动文件路径")后即可初始化ChromeDriver
内容的提问来源于stack exchange,提问作者Paul Recker
相关产品推荐
相关产品推荐

