我使用 ruby watir-webdriver 开发了一个爬虫,可以从页面下载一些文件。我的问题是,当我单击下载第二个文件时,Chrome 会在顶部打开一个栏,要求确认我正在从此网站下载多个文件。
一旦被 webdriver 使用,我就无法确认下载。有什么办法可以避免这种确认吗?我在想是否有任何配置可以避免它,或者是否有扩展可以做到这一点,或者即使我可以点击网络驱动程序的确认。
thanks
我正在使用 Chrome 49,其他解决方案都不适合我。
经过一番研究,我找到了一个可行的解决方案:
ChromeDriver createChromeDriverWithDownloadFolder(String folder) {
Map<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", folder);
chromePrefs.put("profile.content_settings.exceptions.automatic_downloads.*.setting", 1 );
chromePrefs.put("download.prompt_for_download", false);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
return new ChromeDriver(cap);
}
这些设置似乎在不断变化。因此,我是这样找到适合我的设置的解决方案的:
- 打开 Chrome 并转到 chrome://version/ 找到您的个人资料的路径
-
In 默认/首选项是一个名为的 json 文件优先。打开它并搜索自动下载。
就我而言,文件中有趣的部分如下所示:
...“轮廓”: {
“avatar_bubble_tutorial_shown”:1,
“头像索引”:0,
“内容设置”: {
“clear_on_exit_migerated”:真,
“例外”:{
“app_banner”:{},
“自动选择证书”:{},
“自动下载”:{
“[.]本地主机:63342,“:{
“设置”:1
},...
由此我可以得出正确的设置是chromePrefs.put("profile.content_settings.exceptions.automatic_downloads.*.setting", 1 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)