Веб-програми генерують 3 різні типи спливаючих вікон; а саме
1| JavaScript PopUps
2| Browser PopUps
3| Native OS PopUps [e.g., Windows Popup like Upload/Download]
Загалом, спливаючі вікна JavaScript генеруються кодом веб-програми. Selenium надає API для обробки цих спливаючих вікон JavaScript, таких як Alert
.
Зрештою, найпростіший спосіб ігнорувати спливаюче вікно браузера та завантажувати файли здійснюється за допомогою профілів браузера; Є кілька способів зробити це:
- Вручну вносити зміни до властивостей браузера (або)
- Налаштуйте властивості браузера за допомогою профілю setPreference
Метод1
Перш ніж розпочати роботу зі спливаючими вікнами в профілях браузера, переконайтеся, що параметри завантаження встановлені за замовчуванням на Зберегти файл.
(Відкрити Firefox) Інструменти> Параметри> Програми
Метод2
Скористайтеся наведеним нижче фрагментом та виконуйте редагування, коли це необхідно.
FirefoxProfile profile = new FirefoxProfile();
String path = "C:\\Test\\";
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", path);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream");
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.useDownloadDir", true);
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", false);
profile.setPreference("pdfjs.disabled", true);
driver = new FirefoxDriver(profile);