如何使用Capybara / Selenium在Chrome上下载多个文件?

时间:2013-03-21 17:16:08

标签: google-chrome capybara selenium-webdriver

我正在使用Capybara Chrome和Selenium。当我尝试单击导致自动下载的链接时,将正确下载该文件。如果我再次尝试此操作,Chrome会显示消息:“此网站正在尝试下载多个文件。您要允许此操作吗?”

enter image description here

我正在寻找可用于禁用此消息的flag,但找不到任何内容。有什么办法可以绕过这条消息并允许多次下载而无需借助页面刷新? (例如,我是否可以通过编程方式单击“允许”按钮?)

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

使用Chrome选项

WebDriver driver = null;
ChromeOptions options = new ChromeOptions();
        Map<String, Object> prefs = new HashMap<String, Object>();
        prefs.put("profile.default_content_settings.popups", 0);
        prefs.put("profile.content_settings.pattern_pairs.*.multiple-automatic-downloads", 1 );
        //Turns off download prompt
        prefs.put("download.prompt_for_download", false);
        options.setExperimentalOption("prefs", prefs);

    driver = new ChromeDriver(options);

答案 2 :(得分:-2)

如果没有更好的解决方案,您可以获取元素并单击它。

driver.findElement(By.xpath("xpath")).click();