2013-03-21 74 views
6

我在Chrome和Selenium上使用Capybara。当我尝试点击导致自动下载的链接时,该文件被正确下载。如果我再次尝试这样做,Chrome会显示以下消息:“此网站正在尝试下载多个文件,您是否允许这么做?”如何使用水豚/硒在Chrome上下载多个文件?

enter image description here

我一直在寻找可以用来禁用此消息flag,但没有发现任何东西。有什么办法可以解决这个消息,并允许多次下载,而不必诉诸于页面刷新? (例如,是否有任何方法可以通过编程方式单击“允许”按钮?)

+0

这里是我如何找到适合你的设置右旗后:HTTP:/ /stackoverflow.com/a/36821119/4854090 – 2016-04-24 09:02:49

回答

-2

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

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

他正在点击它。那就是问题所在。浏览器正在使用一种粗略的安全措施来阻止多次下载,似乎并没有简单的方法。我已经看到人们讨论在设置中切换'问我在哪里可以保存下载的内容'标志,但这对我并不适用。 – 2013-07-21 23:56:20

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);