ped*_*axl 11 google-chrome watir google-chrome-extension watir-webdriver selenium-chromedriver
我开发了一个带有ruby watir-webdriver的爬虫,可以从页面下载一些文件.我的问题是,当我点击下载第二个文件时,Chrome会在顶部打开一个栏,要求确认我正在从此网站下载多个文件.
一旦webdriver使用它,我无法确认下载.反正有没有这个确认?我在想是否有任何配置可以避免它或者是否有扩展来执行此操作,或者即使我可以使用webdriver单击确认.
谢谢
dev*_*dom 13
我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
似乎这些设置不断变化.因此,以下是我为我的设置找到正确解决方案的方法:
在Default/Preferences中是一个名为Preferences的json文件.打开它并搜索automatic_downloads.在我的例子中,文件的有趣部分看起来像这样:
..."profile":{"avatar_bubble_tutorial_shown":1,"avatar_index":0,"content_settings":{"clear_on_exit_migrated":true,"例外":{"app_banner":{},"auto_select_certificate":{}, "automatic_downloads":{"[ .] localhost:63342, ":{"setting":1},...
从那我可以得出正确的设置 chromePrefs.put("profile.content_settings.exceptions.automatic_downloads.*.setting", 1 );
对于新版Chrome(版本46或更高版本),此选项已更改,现在您的哈希必须如下所示:
prefs = {
'profile' => {
'default_content_settings' => {'multiple-automatic-downloads' => 1}, #for chrome version olde ~42
'default_content_setting_values' => {'automatic_downloads' => 1}, #for chrome newer 46
}
}
browser = Watir::Browser.new :chrome, options: {prefs: prefs, args: ['--test-type', '--disable-infobars'}
Run Code Online (Sandbox Code Playgroud)
从2017年2月17日的Chrome 56.0.2924.87开始,您需要设置的唯一首选项(但是您为Webdriver设置了首选项)是:
'profile.default_content_setting_values.automatic_downloads': 1
Run Code Online (Sandbox Code Playgroud)
提供更新的答案,因为此处的大多数答案都使用过时的首选项或显示其他不必要的首选项。
此错误/增强功能已在以下 URL 的 chromedriver 页面中提出: http: //code.google.com/p/chromedriver/issues/detail ?id=130
错误/增强状态:尚未解决。
归档时间: |
|
查看次数: |
11374 次 |
最近记录: |