升级Chrome至93.0.4577.63后启动崩溃报DevToolsActivePort不存在如何解决?
根因说明
Chrome 93版本更新后收紧了与ChromeDriver的版本匹配校验规则,同时Windows环境下可能存在后台残留Chrome进程冲突、DevTools端口分配失败、目录权限不足的问题,仅回退ChromeDriver版本、只添加--no-sandbox参数无法覆盖全部异常场景。
修复步骤
- 优先保证Chrome主程序与ChromeDriver版本完全匹配:当前Chrome版本为93.0.4577.63,必须下载对应版本的ChromeDriver替换现有驱动文件,跨大版本的驱动必然存在兼容问题。
- 新增如下Chrome启动参数,覆盖所有常见异常场景:
--remote-debugging-port=9222:手动指定DevTools监听端口,直接解决DevToolsActivePort file doesn't exist报错--disable-dev-shm-usage:禁用共享内存限制,避免内存分配不足导致Chrome启动崩溃--disable-gpu:关闭GPU硬件加速,规避渲染组件冲突- 如需可视化界面,额外添加
--start-maximized;无需可视化的话添加--headless=new使用新版无头模式
- 启动驱动前清理所有后台Chrome残留进程:打开任务管理器,结束全部名称为
chrome.exe的运行进程,避免旧进程占用端口、文件锁导致新实例启动失败。 - 校验Chrome安装路径权限:右键点击
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,选择「属性」-「安全」,确认当前运行程序的用户拥有「读取和执行」权限,无权限的话手动授予。 - 如果仍启动失败,可在代码中手动指定Chrome二进制文件路径,Java示例代码如下:
ChromeOptions options = new ChromeOptions(); // 手动指定Chrome安装路径 options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"); // 添加启动参数 options.addArguments("--no-sandbox"); options.addArguments("--remote-debugging-port=9222"); options.addArguments("--disable-dev-shm-usage"); options.addArguments("--disable-gpu"); // 初始化驱动 ChromeDriver driver = new ChromeDriver(options);
内容的提问来源于stack exchange,提问作者nlazouzi
相关产品推荐
相关产品推荐

