Chromedriver/Firefoxdriver正常运行,为何EdgeDriver崩溃?
EdgeDriver启动崩溃(Chrome/FirefoxDriver正常)的解决方案
针对你遇到的EdgeDriver启动崩溃问题,结合你的环境(MacOS 12.3 aarch64、Selenium 4.4.0、WebDriverManager 5.3.1),可以尝试以下解决方案:
1. 严格匹配Edge浏览器与EdgeDriver版本
基于Chromium的Edge要求驱动与浏览器版本完全一致,小版本差异都可能导致启动失败:
- 打开Edge → 设置 → 关于Microsoft Edge,查看浏览器完整版本号
- 下载对应arm64架构的EdgeDriver,或通过WebDriverManager指定版本下载:
WebDriverManager.edgedriver().browserVersion("你的Edge版本号").setup();
2. 补充Edge启动参数
现有参数不足以解决启动问题,添加以下参数尝试:
EdgeOptions options = new EdgeOptions(); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); options.addArguments("--remote-allow-origins=*"); // Selenium 4+必备,解决跨域会话问题 options.addArguments("--disable-gpu"); options.addArguments("--disable-extensions"); options.addArguments("--start-maximized"); // 若无需可视化界面,可启用新版无头模式 // options.addArguments("--headless=new");
3. 检查Edge浏览器权限与完整性
- 验证Edge安装路径的执行权限,终端执行:
chmod +x /Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge - 手动启动Edge浏览器,确认浏览器本身无损坏、能正常运行
4. 升级Selenium与WebDriverManager版本
你当前使用的版本存在已知的Edge兼容性问题,升级到最新稳定版:
<!-- pom.xml更新依赖 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.15.0</version> </dependency> <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.6.0</version> </dependency>
5. 避免驱动路径配置冲突
不要同时使用WebDriverManager.edgedriver().setup()和System.setProperty("webdriver.edge.driver", "..."),两者选其一,防止驱动版本不匹配。
内容的提问来源于stack exchange,提问作者Alan Liew
相关产品推荐
相关产品推荐

