You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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里加这段依赖:
    <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'
    
  • 修改代码
    删掉原来的System.setProperty行,换成WebDriverManager的初始化代码,示例如下:
    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");
        }
    }
    
    运行代码时,WebDriverManager会自动检测你当前的Chrome版本,下载对应驱动,完全不用手动管路径和版本匹配的事。

额外提醒

  • 手动下载ChromeDriver时,要确保文件路径里没有中文、空格或特殊字符,不然可能会出现驱动加载失败的情况。
  • 如果你经常更新Chrome浏览器,强烈推荐用WebDriverManager,它能自动同步更新驱动,省得每次都手动操作。

内容的提问来源于stack exchange,提问作者Rajasekhar Bandaru

火山引擎 最新活动