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

Selenium启动Chrome失败:SessionNotCreatedException问题求助

解决Selenium启动Chrome时的SessionNotCreatedException(企业管理环境)

先修正代码中的基础问题

你的代码里有一个不完整的导入语句:org.openqa.,需要补充完整为:

import org.openqa.selenium.chrome.ChromeDriver;

核心解决方案:添加ChromeOptions参数

针对DevToolsActivePort file doesn't exist错误和企业管理Chrome的限制,给ChromeDriver添加以下启动参数,绕过部分策略和启动限制:

修改后的完整代码:

import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import io.github.bonigarcia.wdm.WebDriverManager;

public class GoogleTest {

    public static void main(String[] args) {
        WebDriverManager.chromedriver().clearDriverCache().setup();
        
        // 配置Chrome启动参数
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--no-sandbox"); // 禁用沙箱,企业环境必备
        options.addArguments("--disable-dev-shm-usage"); // 避免共享内存不足
        options.addArguments("--remote-debugging-port=9222"); // 指定调试端口,解决DevToolsActivePort问题
        options.addArguments("--disable-features=VizDisplayCompositor"); // 绕过部分渲染策略
        options.addArguments("--start-maximized"); // 直接启动最大化窗口,替代代码中的maximize
        options.addArguments("--disable-browser-side-navigation"); // 减少页面跳转时的崩溃
        
        WebDriver driver = new ChromeDriver(options);
        
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(5));
        driver.get("https://google.com");
    }
}

针对企业策略自动恢复的额外措施

如果注册表修改策略后自动恢复,可以尝试:

  • 以管理员身份运行你的IDE或Java命令行,部分企业策略会对普通权限进程生效,管理员权限可能绕过
  • 下载Chrome便携版(无需安装),将其路径通过options.setBinary("path/to/chrome-portable.exe")指定给ChromeDriver,企业策略通常不会覆盖便携版
  • 检查后台是否有企业管理的Chrome策略推送进程(如Google Update相关服务),暂时停止该进程(需确认企业合规要求)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:57:40