Selenium ChromeDriver启动Chrome崩溃提示DevToolsActivePort不存在如何解决?
问题根因
你遇到的DevToolsActivePort文件不存在报错本质是ChromeDriver成功启动后,无法读取Chrome浏览器启动生成的DevTools监听端口文件,导致会话创建失败。后续的空指针异常是因为Driver初始化失败,后续测试步骤调用了空的Driver对象触发的连锁报错。
修复方案
- 版本匹配校验:首先确认本地安装的Chrome浏览器主版本与你当前使用的ChromeDriver 93.0.4577.63完全匹配,两者主版本号必须一致,跨版本启动会直接触发崩溃。
- 添加Chrome启动参数:在初始化ChromeDriver前给ChromeOptions添加以下配置,规避权限和端口探测问题:
ChromeOptions options = new ChromeOptions(); // 禁用沙箱,解决Windows系统权限不足导致的启动异常 options.addArguments("--no-sandbox"); // 固定DevTools监听端口,避免端口文件生成异常 options.addArguments("--remote-debugging-port=9222"); // 禁用共享内存限制,减少启动崩溃概率 options.addArguments("--disable-dev-shm-usage"); // 若Chrome未安装在默认路径,可手动指定exe路径 // options.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"); ChromeDriver driver = new ChromeDriver(options); - 排查路径与权限问题:你当前的项目存放在OneDrive同步目录下,OneDrive的实时文件锁可能会阻塞ChromeDriver读取临时端口文件,建议将项目迁移到本地非同步目录后再执行测试。
- Chrome完整性校验:手动双击打开本地Chrome浏览器,确认可以正常启动无报错,如果Chrome本身启动异常,直接重装对应版本即可。
其他警告说明
日志中提到的Cucumber主类弃用、SLF4J、log4j警告均为提示类信息,不影响测试执行,可在后续依赖迭代时统一修复。
内容的提问来源于stack exchange,提问作者Alok Biswal
相关产品推荐
相关产品推荐

