Windows11下使用Selenium操控Microsoft Edge无法访问任意URL的问题
解决Selenium中「DevToolsActivePort file doesn't exist」错误
错误信息
selenium.SessionNotCreatedException:
could not start a new session. Response code 500. Message: session not created: DevToolsActivePort file doesn't exist.
代码示例
public class TestSample{ public static void main(String args[]) { WebDriver driver; WebDriverManager.edgedriver().setup(); //also tried with System.setProperty option driver = new EdgeDriver(); driver.get("http://www.google.com"); } }
环境说明
- 运行环境:Windows 10(代码在此环境可正常运行)
- 依赖版本:
- Selenium-java: 4.25.0
- webdrivermanager: 5.9.2
- Edge浏览器版本: 130.0.2849.26
解决方案
方法1:添加浏览器启动参数
给EdgeDriver指定调试端口和用户数据目录,避免端口冲突或权限问题:
public class TestSample{ public static void main(String args[]) { WebDriver driver; WebDriverManager.edgedriver().setup(); EdgeOptions options = new EdgeOptions(); options.addArguments("--remote-debugging-port=9222"); options.addArguments("--user-data-dir=C:\\temp\\edge_profile"); // 自定义临时目录路径 driver = new EdgeDriver(options); driver.get("http://www.google.com"); } }
方法2:清理浏览器后台进程
打开任务管理器,结束所有msedge.exe和msedgedriver.exe进程,再重新运行代码,避免残留进程占用资源。
方法3:确认驱动与浏览器版本匹配
即使使用WebDriverManager,也需确保Edge浏览器版本和自动下载的驱动版本完全一致。若有偏差,可手动下载对应版本的EdgeDriver替换,或升级/降级浏览器至兼容版本。
方法4:以管理员权限运行
权限不足可能导致无法创建端口文件,尝试以管理员身份运行Java项目或开发工具。
内容的提问来源于stack exchange,提问作者user3843636
相关产品推荐
相关产品推荐

