如何使用FirefoxProfile通过Firefox浏览器自动下载?

我正在使用selenium 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); 

以下代码块使用Selenium通过Java绑定配置Firefox ProfileDownloadSave PDF文件:

 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);