firefox プロファイル設定を使用して、セレン テストで pdf ファイルをダウンロードするときに、firefox ダウンロード マネージャー ウィンドウをバイパスしようとしています。
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", "path/to/downloads");
profile.setPreference("browser.download.useDownloadDir", true);
profile.setPreference("browser.helperApps.neverAsk.openFile", "application/x-pdf, application/pdf, application/octet-stream, text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/x-pdf, application/pdf, application/octet-stream, text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", false);
FirefoxOptions options = new FirefoxOptions();
options.setProfile(profile);
WebDriver driver = new FirefoxDriver(options);
driver.get("https://mozilla.github.io/pdf.js/web/viewer.html");
Thread.sleep(3000);
driver.findElement(By.id("download")).click();
Thread.sleep(5000);
プロファイル設定のさまざまなバリエーションを試しましたが、何も機能していないようです。
また、ファイルがダウンロード フォルダーに、次のような奇妙な拡張子を持つランダムな文字列として表示されていることに注意することも重要です5daYs8iE.pdf.part
。ダウンロード ウィンドウの [OK] ボタンをクリックせずにテストを終了すると、ファイルは消えますが、クリックすると、ファイルが保存され、拡張子が PDF に変更されます。
の上org.seleniumhq.selenium:selenium-firefox-driver:3.141.59