2013-03-21 70 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);