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

Eclipse中Selenium SessionNotCreatedException问题求助

Eclipse中Selenium SessionNotCreatedException问题解决

问题背景

在Eclipse中使用Selenium时遭遇SessionNotCreatedException,已尝试以下操作仍未解决:

  • 更新Chrome浏览器至最新版本
  • 更换Firefox和Edge浏览器测试
  • 更新Selenium版本

报错详情

org.openqa.selenium.SessionNotCreatedException: 无法启动新会话。可能原因是远程服务器地址无效或浏览器启动失败。
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:585)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:248)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:164)
	at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:108)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:48)
	at Basics.FirstTestSelenium.testFindElements(FirstTestSelenium.java:61)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.testng.TestRunner.privateRun(TestRunner.java:794)
	at org.testng.TestRunner.run(TestRunner.java:596)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:377)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:371)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:332)
	at org.testng.SuiteRunner.run(SuiteRunner.java:276)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1212)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1134)
	at org.testng.TestNG.runSuites(TestNG.java:1063)
	at org.testng.TestNG.run(TestNG.java:1031)
	at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: org.openqa.selenium.WebDriverException: 驱动服务器进程过早终止。
构建信息: 版本: '4.1.3', 修订版本: '7b1ebf28ef'
系统信息: 主机: 'HP-5CG1376V12', IP: '192.168.0.100', 操作系统名称: 'Windows 10', 操作系统架构: 'amd64', 操作系统版本: '10.0', Java版本: '17.0.3'
驱动信息: driver.version: ChromeDriver
	at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:226)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:98)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:567)
... 35 more

解决方案

1. 严格匹配驱动与浏览器版本

即使浏览器是最新版,也必须确保ChromeDriver/GeckoDriver/EdgeDriver的版本与浏览器主版本完全一致(例如Chrome 118.x对应ChromeDriver 118.x.x.x)。
推荐使用WebDriverManager自动管理驱动,避免手动匹配错误,示例代码:

import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.chrome.ChromeDriver;

public class FirstTestSelenium {
    public void testFindElements() {
        WebDriverManager.chromedriver().setup();
        ChromeDriver driver = new ChromeDriver();
        // 测试逻辑
        driver.quit();
    }
}

2. 检查驱动权限与拦截情况

  • 右键驱动文件,进入「属性-安全」,确认当前用户拥有读取和执行权限
  • 若驱动被杀毒软件拦截,将驱动文件添加到杀毒软件信任列表

3. 指定浏览器二进制文件路径

部分场景下浏览器默认安装路径被修改,需手动指定路径:

import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.chrome.ChromeDriver;

public class FirstTestSelenium {
    public void testFindElements() {
        ChromeOptions options = new ChromeOptions();
        options.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"); // 替换为实际路径
        ChromeDriver driver = new ChromeDriver(options);
        // 测试逻辑
        driver.quit();
    }
}

4. 清理浏览器后台进程

打开任务管理器,结束所有Chrome/Firefox/Edge的后台进程,再重新运行测试

5. 配置驱动路径

确保驱动所在目录已加入系统PATH环境变量,或在代码中直接指定:

System.setProperty("webdriver.chrome.driver", "D:\\drivers\\chromedriver.exe"); // 替换为实际驱动路径
ChromeDriver driver = new ChromeDriver();

内容的提问来源于stack exchange,提问作者anuja jain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 08:47:43