2017-08-09 63 views
1

我與硒的Java,我需要下載的PDF文件的工作,我在這裏提到thisthisthis答案,但好像沒有在我的情況是工作。 是否由於設置了新的firefox驅動程序實例,即System.setProperty("webdriver.firefox.bin", "D:\\FFF\\firefox.exe");?但是當我在MIME對話框中手動點擊保存文件時,它會正確保存到我的自定義位置,而且我的下載鏈接代碼駐留在另一個Java類中,另一個類中的代碼位於下方,但我使用的驅動程序與在這一類中聲明, 下面是我的代碼,自動下載的Firefox瀏覽器的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); 
+0

爲什麼'browser.helperApps.neverAsk .saveToDisk'選項被註釋掉,你正在下載什麼類型的文件。如果您不確定在下載文件時在Chrome瀏覽器中檢查網絡選項卡 –

+0

抱歉,我的錯誤,它的pdf文件只,編輯問題 –

+0

當您點擊假設下載文件的鏈接時會發生什麼,它會在另一個選項卡中打開 –

回答

2

下面的代碼塊通過Java綁定配置使用Selenium一個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); 
+0

它不工作,我也不知道爲什麼它彈出一個毫秒的新空白瀏覽器選項卡,並關閉在顯示對話框前立即引起任何問題? –

+0

Nopes,你可以得到'新的空白瀏覽器選項卡'和'顯示對話框'的快照嗎?您準備下載哪種類型的文件? – DebanjanB

+0

好的..我無法得到空白標籤的截圖,因爲它打開之前打開小數秒。這裏是MIME對話框的屏幕截圖 http://imgur.com/a/iiVhh –

相關問題