2013-03-21 2 views
6

Я использую Capybara с Chrome и Selenium. Когда я пытаюсь щелкнуть ссылку, которая вызывает автоматическую загрузку, файл загружается правильно. Если я попытаюсь сделать это снова, Chrome покажет сообщение: «Этот сайт пытается загрузить несколько файлов. Вы хотите разрешить это?»Как загрузить несколько файлов на Chrome с Capybara/Selenium?

enter image description here

Я искал flag, которые можно было бы использовать, чтобы отключить это сообщение, но не смогли найти ничего. Есть ли способ обойти это сообщение и разрешить многократную загрузку без необходимости прибегать к обновлению страницы? (Например, можно ли нажать кнопку Разрешить программно?)

+0

Вот мой пост о том, как найти правильный флаг для вашей установки: HTTP://stackoverflow.com/a/36821119/4854090 –

ответ

-2

Если лучшего решения нет, вы можете получить элемент и щелкнуть по нему.

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

Он нажимает на него. Это проблема. Браузер использует грубую попытку меры безопасности для блокировки нескольких загрузок, и, похоже, нет простого способа обойти ее. Я видел, как люди говорили о переключении флага «Спроси меня, где сохранить загруженный контент» в настройках, но это не сработало для меня. –

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); 
Смежные вопросы