2013-05-19 29 views
4

我想下載一個PDF文件使用Selenium網絡驅動程序與Java。上次我在大約2周前運行它時,這樣工作的很好,但是現在每次點擊pdf鏈接時都會打開pdf閱讀器。硒火狐配置文件開放PDF閱讀pdfjs.disabled爲真時,安裝adobe閱讀器

我在測試中創建的firefox配置文件沒有改變,它設置了一個下載位置,並設置文件自動下載,如果他們是pdf或csv。 csv文件仍然正常工作並下載到正確的文件夾。

在我的代碼中,我將pdfjs.disabled設置爲true,如果我在webdriver firefox實例中打開about:config,我可以看到設置正確。

如果我在另一個firefox實例中設置pdfjs.disabled爲true並手動點擊一個鏈接,它可以正常工作。

我不確定自上次運行測試以來firefox是否已更新,但我也在我的計算機上安裝了Adobe Reader。

請誰能告訴我什麼可以讓它突然停止工作?

這是我創建的配置文件和我稱之爲webdriver的方式。我正在使用最新版本的Firefox 21.0。

FirefoxProfile firefoxProfile = new FirefoxProfile(); 

// Set profile to accept untrusted certificates 
firefoxProfile.setAcceptUntrustedCertificates(true); 

//Set profile to not assumet certificate issuer is untrusted 
firefoxProfile.setAssumeUntrustedCertificateIssuer(false); 

//Set download location and file types 
firefoxProfile.setPreference("browser.download.folderList",2); 
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false); 
firefoxProfile.setPreference("browser.download.dir",reportFolder); 
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/pdf,application/csv,application/vnd.ms-excel"); 

// Set to false so popup not displayed when download finished. 
firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false); 

firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false); 
firefoxProfile.setPreference("browser.download.manager.showWhenStartinge",false); 
firefoxProfile.setPreference("browser.download.panel.shown",false); 
firefoxProfile.setPreference("browser.download.useToolkitUI",true); 

// Set this to true to disable the pdf opening 
firefoxProfile.setPreference("pdfjs.disabled", true); 

driver = new FirefoxDriver(firefoxProfile); 

更新: 我刪除了Adobe Reader和該開始工作了。閱讀器必須在配置文件中設置一些我需要禁用才能使其與閱讀器協同工作的內容。有人有任何想法嗎?

+0

請參閱上面我已更新與代碼的問題。 –

+0

任何人有任何想法?它工作正常,除了在我的電腦上安裝Adobe Reader和可能更新的Firefox以外,沒有任何改變。 –

+0

我不在計算機上使用此代碼,但報告文件夾正常工作。它設置爲當前運行的目錄/ Reports在這個相同的測試中,我得到pdf和csv文件,最後所有的csv文件都在那裏,但是PDF在Reader中打開。事情是,如果我打開Firefox並設置上述相同的配置文件設置,並單擊一個PDF下載它,它只是不起作用的webdriver實例:( –

回答

1

嘗試

​​

訣竅是將PDF MIME添加到plugin.disable_full_page_plugin_for_types偏好。

這適用於Firefox 26.