我正在使用selenium来自动填充chrome中的网站。当我下载exe或XML文件时,我得到一个弹出窗口“这种类型的文件可能会损害您的计算机”保留和丢弃选项。如何以编程方式禁用此功能? 我在c#中实现这个, 我试过了,
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true")
但这不适合我。 如何禁用此弹出窗口? 如果不可能如何接受警告? 请帮帮我。
答案 0 :(得分:4)
要停用该消息,您需要将首选项safebrowsing.enabled
设置为true
。以下是CSharp的一个工作示例:
var options = new ChromeOptions();
options.AddUserProfilePreference("download.default_directory", "C:\\Downloads");
options.AddUserProfilePreference("download.prompt_for_download", false);
options.AddUserProfilePreference("download.directory_upgrade", true);
options.AddUserProfilePreference("safebrowsing.enabled", true);
var driver = new ChromeDriver(options);
driver.Navigate().GoToUrl("http://www.7-zip.org/a/7z1602.exe");
有关偏好的描述:
https://chromium.googlesource.com/chromium/src/+/master/chrome/common/pref_names.cc
答案 1 :(得分:1)
可能你需要的是改变
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "true") // disables blocking the popup
到
chromeOptions.AddUserProfilePreference("disable-popup-blocking", "false") // enables blocking the popup
反而避免弹出窗口。
编辑 :如果您遇到有害文件内容,可以尝试使用以下方法设置实验性Chrome选项 / p>
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("safebrowsing.enabled", "true");
chromeOptions.setExperimentalOption("prefs", prefs);
引用文档here中的示例:
设置Chrome偏好设置
ChromeOptions options = new ChromeOptions(); Map<String, Object> prefs = new HashMap<String, Object>(); prefs.put("profile.default_content_settings.popups", 0); options.setExperimentalOption("prefs", prefs);
日期 - 2016年6月4日[C#]
通过一些链接可以解决这个问题,.Net
仍然没有setExperimentalOption
首选项以及ChromeOptions。因此,使用列出Add Argument to the ChromeOptions using C#标记的here的方法之一是:
chromeOptions.AddArgument("--safebrowsing-disable-download-protection");
禁用检查下载网址和下载的安全浏览功能 内容的哈希,以确保内容不是恶意的。
日期 - 2016年6月4日[JAVA]
文档here将其引用为:
public void setExperimentalOption(java.lang.String name, java.lang.Object value)
设置实验选项。对于新的ChromeDriver选项尚不适用 通过ChromeOptions API公开。