JavaでSelenium Webドライバーを使用してpdfファイルをダウンロードしようとしています。これは、約 2 週間前に最後に実行したときに正常に機能していましたが、pdf リンクをクリックするたびに pdf リーダーが開いています。
テストで作成した私の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 を削除したところ、これが再び機能し始めました。リーダーは、リーダーで動作させるために無効にする必要があるプロファイルに何かを設定する必要があります。誰にもアイデアはありますか?