禁用chrome下载多个文件确认

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)

似乎这些设置不断变化.因此,以下是我为我的设置找到正确解决方案的方法:

  1. 打开Chrome并转到chrome:// version /查找个人资料的路径
  2. 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},...

  3. 从那我可以得出正确的设置 chromePrefs.put("profile.content_settings.exceptions.automatic_downloads.*.setting", 1 );


Ste*_*pan 6

对于新版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)

  • 此解决方案在版本66中使用chromedriver和perl在硒中使用。 (2认同)

Rah*_*med 5

从2017年2月17日的Chrome 56.0.2924.87开始,您需要设置的唯一首选项(但是您为Webdriver设置了首选项)是:

'profile.default_content_setting_values.automatic_downloads': 1
Run Code Online (Sandbox Code Playgroud)

提供更新的答案,因为此处的大多数答案都使用过时的首选项或显示其他不必要的首选项。


Vel*_*esh 0

此错误/增强功能已在以下 URL 的 chromedriver 页面中提出: http: //code.google.com/p/chromedriver/issues/detail ?id=130

错误/增强状态:尚未解决。