Java Selenium:Edge新无头模式下如何禁用下载完成弹出菜单
Edge新无头模式下禁用下载完成弹出菜单的解决方法
要解决这个问题,仅靠添加命令行参数不够,需要通过EdgeOptions配置下载偏好设置,指定默认下载路径并关闭下载提示。以下是修改后的完整代码:
public static void main(String args[]) { System.setProperty("webdriver.edge.driver","src/main/resources/msedgedriver.exe"); EdgeOptions options = new EdgeOptions(); options.addArguments("headless=new"); options.addArguments("--window-size=1920,1080"); options.addArguments("--start-maximized"); options.addArguments("--inprivate"); options.addArguments("--disable-popup-blocking"); // 配置下载偏好,禁用下载弹窗 Map<String, Object> prefs = new HashMap<>(); // 设置默认下载目录(请替换为你自己的路径) prefs.put("download.default_directory", "C:\\your\\download\\path"); // 禁用下载完成后的提示弹窗 prefs.put("download.prompt_for_download", false); // 允许自动升级下载目录 prefs.put("download.directory_upgrade", true); // 启用安全浏览,避免额外的安全提示 prefs.put("safebrowsing.enabled", true); options.setExperimentalOption("prefs", prefs); EdgeDriver driver = new EdgeDriver(options); driver.get("https://msedgedriver.azureedge.net/115.0.1860.0/edgedriver_win64.zip"); }
关键配置说明:
download.default_directory:指定固定的下载目录,避免浏览器弹出选择保存路径的窗口download.prompt_for_download:设为false后,下载完成时不会弹出通知菜单download.directory_upgrade:确保当指定的下载目录不存在时,浏览器会自动创建(部分版本需要)safebrowsing.enabled:避免下载未知文件时弹出安全确认窗口,确保下载流程自动完成
注意事项:
- 请将代码中的下载路径替换为你本地存在的目录,或者确保程序有创建目录的权限
- 若使用Linux/macOS系统,路径格式需改为对应系统的格式(比如
/home/user/downloads)
内容的提问来源于stack exchange,提问作者JoReyner
相关产品推荐
相关产品推荐

