ChromeDriver与Chrome版本不兼容引发SessionNotCreatedException问题求助
解决ChromeDriver与Chrome版本不匹配导致的SessionNotCreatedException问题
从你抛出的错误信息里,一眼就能揪出核心问题:This version of ChromeDriver only supports Chrome version 75——你当前用的ChromeDriver 75版本只兼容Chrome浏览器75版本,但你电脑上的Chrome版本肯定已经高于75了,这就导致浏览器和驱动没法建立会话,自然打不开浏览器。
下面给你两种实用的解决办法:
方法一:手动匹配ChromeDriver与Chrome版本
- 第一步:查Chrome版本
打开Chrome,点右上角三个点 → 选「帮助」→ 「关于Google Chrome」,弹出页面里就能看到你的Chrome具体版本(比如120.0.6099.109)。 - 第二步:下载对应版本的ChromeDriver
去ChromeDriver官方下载页面,找和你Chrome版本完全一致的安装包(注意选Windows 64位版本),解压后得到chromedriver.exe。 - 第三步:更新代码路径
把代码里System.setProperty的路径换成新下载的chromedriver.exe实际路径,比如:System.setProperty("webdriver.chrome.driver", "C:\\你的新路径\\chromedriver.exe");
方法二:用WebDriverManager自动管理版本(省心首选)
手动下载太麻烦?试试WebDriverManager工具,它能自动搞定版本匹配和驱动下载:
- 添加依赖
如果你用Maven,在pom.xml里加这段依赖:
用Gradle的话,在<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.6.3</version> <!-- 可用最新稳定版 --> </dependency>build.gradle里加:implementation 'io.github.bonigarcia:webdrivermanager:5.6.3' - 修改代码
删掉原来的System.setProperty行,换成WebDriverManager的初始化代码,示例如下:
运行代码时,WebDriverManager会自动检测你当前的Chrome版本,下载对应驱动,完全不用手动管路径和版本匹配的事。import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Homepage { public static void main(String[] args) { // 自动配置ChromeDriver WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver(); // 可以加一行测试打开网页 driver.get("https://www.google.com"); } }
额外提醒
- 手动下载ChromeDriver时,要确保文件路径里没有中文、空格或特殊字符,不然可能会出现驱动加载失败的情况。
- 如果你经常更新Chrome浏览器,强烈推荐用WebDriverManager,它能自动同步更新驱动,省得每次都手动操作。
内容的提问来源于stack exchange,提问作者Rajasekhar Bandaru




