Как автоматически загрузить браузер 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);
Другие вопросы по тегам