Как автоматически загрузить браузер Firefox с помощью FirefoxProfile?
Я работаю с селеном Java, где мне нужно скачать PDF-файлы, я упоминал это, это, а также это ответы здесь, но, похоже, ничего не работает в моей ситуации. Это из-за установки нового экземпляра драйвера Firefox, т.е.System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
? Я застрял здесь. Однако, когда я вручную нажимаю на файл сохранения в диалоговом окне MIME, он правильно сохраняется в моем пользовательском местоположении, и мой код ссылки на скачивание находится в другом классе Java, а код ниже в другом классе, но я использую тот же драйвер, что и объявлен в этом классе, ниже мой код,
FirefoxProfile profile = new FirefoxProfile();
//Set Location to store files after downloading.
profile.setPreference("browser.download.folderList", 2);
profile.setPreference( "browser.download.manager.showWhenStarting", false );
profile.setPreference("browser.download.dir", "D:\\WebDriverDownloads");
profile.setPreference("pdfjs.disabled", true);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
driver = new FirefoxDriver(profile);
1 ответ
Решение
Следующий блок кода настраивает Firefox Profile
в Download
а также Save
PDF файлы с использованием Selenium
через Java
привязок:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "C:\\Utility\\Downloads");
profile.setPreference("browser.download.folderList",2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile","text/plain,application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.openFile", "");
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("pdfjs.disabled", true);
System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");
WebDriver driver = new FirefoxDriver(profile);