You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven+Java17遇org.openqa.selenium.SessionNotCreatedException问题求助

Maven项目中Selenium启动Chrome会话失败:SessionNotCreatedException问题排查

核心错误

org.openqa.selenium.SessionNotCreatedException: Could not start a new session

完整错误堆栈

[main] INFO io.github.bonigarcia.wdm.WebDriverManager - Exporting webdriver.chrome.driver as C:\Users\ajays\.m2\repository\webdriver\chromedriver\win32\109.0.5414.74\chromedriver.exe
Starting ChromeDriver 109.0.5414.74 (e7c5703604daa9cc128ccf5a5d3e993513758913-refs/branch-heads/5414@{#1172}) on port 46129
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: unknown error: Chrome failed to start: crashed.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location C:\Users\ajays\AppData\Local\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.) 
Host info: host: 'LAPTOP-8VG52IH3', ip: '192.168.20.2'
Build info: version: '4.7.0', revision: '0a5b49d16f'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.5'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [], extensions: []}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [], extensions: []}}}
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:148)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:106)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:67)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:541)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:157)
    at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:101)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:81)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:49)
    at class1test.Demo1.main(Demo1.java:14)

问题原因及解决方案

从错误日志里的DevToolsActivePort file doesn't exist和Chrome failed to start: crashed可以定位到几个常见问题,对应解决方法如下:

  • 版本不匹配:ChromeDriver版本(109.0.5414.74)需与本地安装的Chrome浏览器版本完全一致。打开Chrome→菜单→帮助→关于Google Chrome,查看当前版本,若不一致,可手动指定WebDriverManager下载对应版本:

    WebDriverManager.chromedriver().driverVersion("xxx.xxx.xxx.xxx").setup();
    
  • 进程残留:之前的Chrome或ChromeDriver进程未彻底关闭,导致端口占用或文件锁死。打开任务管理器,结束所有chrome.exe和chromedriver.exe进程后重新运行测试。

  • 添加Chrome启动参数:给ChromeOptions添加参数解决DevTools端口问题,示例代码:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--no-sandbox"); // 绕过操作系统安全模型
    options.addArguments("--disable-dev-shm-usage"); // 避免内存不足问题
    options.addArguments("--remote-debugging-port=9222"); // 指定调试端口
    WebDriver driver = new ChromeDriver(options);
    
  • 依赖兼容性:确认Maven中Selenium(4.7.0)与WebDriverManager的版本兼容,建议使用最新版WebDriverManager,避免依赖冲突。

  • 权限问题:尝试以管理员身份运行IDE或执行Maven命令,确保Chrome有足够权限启动。

内容的提问来源于stack exchange,提问作者Mamatha D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:05:26