Ứng dụng Web tạo ra 3 loại cửa sổ bật lên khác nhau; cụ thể là
1| JavaScript PopUps
2| Browser PopUps
3| Native OS PopUps [e.g., Windows Popup like Upload/Download]
Nói chung, các cửa sổ bật lên JavaScript được tạo bởi mã ứng dụng web. Selenium cung cấp một API để xử lý các cửa sổ bật lên JavaScript này, chẳng hạn như Alert
.
Cuối cùng, cách đơn giản nhất để bỏ qua cửa sổ bật lên của Trình duyệt và tải xuống tệp được thực hiện bằng cách sử dụng cấu hình Trình duyệt; Có một số cách để làm điều này:
- Thực hiện theo cách thủ công các thay đổi trên thuộc tính trình duyệt (hoặc)
- Tùy chỉnh các thuộc tính của trình duyệt bằng cách sử dụng bộ hồ sơ
Phương pháp1
Trước khi bạn bắt đầu làm việc với cửa sổ bật lên trên cấu hình Trình duyệt, hãy đảm bảo rằng tùy chọn Tải xuống được đặt mặc định thành Lưu tệp.
(Mở Firefox) Công cụ> Tùy chọn> Ứng dụng
Phương pháp 2
Sử dụng đoạn mã dưới đây và chỉnh sửa bất cứ khi nào cần thiết.
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);