无法使用配置文件启动Edge WebDriver的问题求助
解决EdgeDriver启动时"DevToolsActivePort file doesn't exist"异常
针对你遇到的问题,结合Edge 129版本的特性,提供以下可行解决方案:
关闭占用目标配置文件的Edge进程
检查任务管理器中所有Microsoft Edge相关进程(包括后台驻留的),确保没有使用"Profile 1"的浏览器实例在运行。当系统默认用户数据目录被已打开的Edge占用时,Driver无法获取DevTools端口,直接导致启动失败。升级Headless模式参数
Edge 129+的新版无头模式对自定义用户目录的兼容性更好,替换旧参数并补充权限相关配置:var edgeOptions = new OpenQA.Selenium.Edge.EdgeOptions(); edgeOptions.AcceptInsecureCertificates = true; edgeOptions.AddArgument(@"user-data-dir=C:\Users\[MYUSERNAME]\AppData\Local\Microsoft\Edge\User Data\"); edgeOptions.AddArgument("profile-directory=Profile 1"); edgeOptions.AddArgument("headless=new"); // 替代原"headless"参数 edgeOptions.AddArgument("no-sandbox"); edgeOptions.AddArgument("disable-dev-shm-usage");headless=new是Edge官方推荐的无头模式,no-sandbox和disable-dev-shm-usage可以规避权限和临时资源限制问题。使用独立的自动化专用配置目录
直接复用日常使用的Edge用户目录容易引发冲突,建议复制一份配置到独立路径:- 复制
C:\Users\[MYUSERNAME]\AppData\Local\Microsoft\Edge\User Data\Profile 1到C:\Automation_Edge_Profile - 修改代码中的路径参数:
edgeOptions.AddArgument(@"user-data-dir=C:\Automation_Edge_Profile"); // 无需再指定profile-directory,因为复制的就是单个配置文件夹
- 复制
显式指定DevTools端口并禁用冗余检查
若之前的remote-debugging-port参数无效,配合补充参数强制固定端口:edgeOptions.AddArgument("remote-debugging-port=9222"); edgeOptions.AddArgument("no-first-run"); edgeOptions.AddArgument("no-default-browser-check");确保9222端口未被其他程序占用,显式指定后Driver能稳定定位DevTools连接入口。
内容的提问来源于stack exchange,提问作者PsCraft
相关产品推荐
相关产品推荐

