有谁知道使用新的无头模式在 Microsoft Edge 中完成下载后删除下载菜单弹出的参数是什么?我的 selenium 程序需要 Microsoft Edge 作为网络驱动程序,因此我无法使用 Chrome 或 Firefox 网络驱动程序。但如果大家有什么想法,请告诉我,谢谢!
到处寻找我可以设置的参数列表,但找不到与禁用下载菜单弹出相关的任何参数。
编辑以包含示例代码:
以下是示例代码。在此示例中,使用的 url 是最新 Microsoft Edge Webdriver 的下载链接:
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");
// options.addArguments("___argument to disable download menu___");
EdgeDriver driver = new EdgeDriver(options);
driver.get("https://msedgedriver.azureedge.net/115.0.1860.0/edgedriver_win64.zip");
}
当我处于新的无头模式时,我无法拥有此浏览器 UI,但如果您想阻止该下载菜单,您可以尝试以下代码:
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("browser.show_hub_popup_on_download_start", false);
options.setExperimentalOption("prefs", prefs);
感谢 Kendrick Li,我在 C# 中遇到了同样的问题,下面的代码有效。
var options = new EdgeOptions();
options.AddArgument("headless=new");
options.AddUserProfilePreference("download.default_directory", downloadDirectory);
options.AddUserProfilePreference("download.prompt_for_download", false);
options.AddUserProfilePreference("directory_upgrade", true);
options.AddUserProfilePreference("browser.show_hub_popup_on_download_start", false);
var driver = new (options);