我々はwebdriverをを使用してFirefoxブラウザの設定とFirefoxのプロファイル設定を使用してFirefoxブラウザでのダウンロードのポップアップを処理することができます。
ステップ1:Firefoxブラウザで設定を更新します。
Firefoxブラウザを開き、[ツール] - > [オプション]に移動します。 [アプリケーション]にナビゲートします。 アクションタイプをPDFの[ファイルを保存]に設定します。
ステップ2:FirefoxProfile
File downloadsDir = new File("");
// Set Preferences for FirefoxProfile.
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", downloadsDir.getAbsolutePath());
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream");
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.useDownloadDir", true);
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", false);
profile.setPreference("pdfjs.disabled", true);
// Initialize the FireFoxDriver instance.
FirefoxDriver webDriver = new FirefoxDriver(profile);
ステップ3使用してFireFoxDriverを初期化します。ダウンロードのPDFアイコンをクリックしたスクリプトを実行スクリプト
を実行します。
結果:PDFファイルがダウンロードされ、ダウンロードポップアップは表示されません。
私はあなたの場合、最初にポップアップブラウザにスイッチ()してから、Firefoxブラウザにあるダウンロードアイコンをクリックしなければならないことを理解しました。それをしても、すぐにPDFがダウンロードされることはありません。あなたは、PDFを直接ダウンロードするのに役立ついくつかの設定をしなければなりません。これらの設定は@zsbappaによって言及されています。 – Amol
また、要素が見つからないため、Seleniumは例外をスローしていました。実際に要素*を見つけるのに挑戦はありませんが、あなたの機密文書が開かれたポップアップウィンドウに切り替えていません。 – Amol
申し訳ありませんが、私が気づいたときに私のコメントを削除しました。あなたの答えは私の問題を解決しました!私は、ファイルを保存したり開いたりするかどうかを尋ねた後、OKボタンを押すロボットを作成しましたが、それは魅力的でした。その後もswitchTo.defaultContent()を必ず実行していなければなりません。私は、 "browser.helperApps.neverAsk.saveToDisk"の設定を変更してロボットを作成する必要はないと思います。 –