firefoxを使用してダウンロードするには、selenium webdriverを使用しています。現時点では、私のスクリプトは、ダウンロードが開始された後、特定の時間待ってからfirefoxを閉じます。ダウンロードの完了時に自動的にFirefoxを閉じるように設定する方法があるかどうかを知りたいのですが?または、selenium webdriverを使用して、ダウンロードが完了したかどうかを確認できますか?私はスクリプトに依存関係を追加するかもしれないので、私はどんなアドオンも使いたくない。私はwget/curlなどを使ってファイルをダウンロードすることはできません。 ありがとうございますダウンロードが完了すると自動的にfirefoxを閉じる
答えて
に役立ちます願っています。ダウンロードパスをポーリングすることは、おそらく最良の(最も堅牢な)ソリューションです。
代替#1:
FirefoxProfile
Download Statusbarとのアドオンを使用してください。 「ウィンドウが閉じられた後にダウンロードマネージャーでダウンロードを続ける」(または非常に似たような)便利なオプションがあるので、ダウンロードが完了するまでFirefoxがバックグラウンドで実行されます。
代替#2:
可能な場合は、this(または任意の他の同様のwebdriverをフレンドリーなツール)を使って直接ファイルをダウンロードしてください...またはthis。そうすれば、Firefoxをプロセスから完全になくすことができます。
これがうまくいくかどうかわかりませんが、Firefoxのダウンロード場所を調べることを検討しましたか?ダウンロードが完了するまでポーリングします。
私が間違っていない場合は、ファイルがダウンロードされたときに、拡張子が.partの余分なファイルがあるはずです。
このような何か(擬似コード):
...
WebDriver poller = new FirefoxDriver()
poller.get("path to download folder");
while ("file with .part extension is present") {
// Wait/sleep some time
// Refresh poller
}
// close downloading firefox instance
firefox.quit();
// close the polling instance
poller.quit();
は、イグナシオ・コントレラスが言っ
ありがとうございますIgnacio。しかし、問題は、与えられた時間に、複数のfirefoxのインスタンスが実行可能であることです。複数のfirefoxインスタンスを同じ場所にダウンロードすることができます。 –
まあ、これらのインスタンスのそれぞれがダウンロード場所をポーリングして、それらの尊重のダウンロードの.partファイルを探します(インスタンスがJava実行コードの別々のインスタンスからスローされた場合)。 すべてが同じプログラムから実行されている場合は、ファイル名の配列を作成して、必要に応じて各firefoxインスタンスを閉じる独自のポーリングドライバを投げることができます。 –
次のコードを使用してポーリングを行うにはセレンwebdriverをAPIのWebDriverWaitクラスを使用することができます。
(new WebDriverWait(driver, 180, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return !downloadedFilePart.exists();
}
});
いずれかのダウンロードが完了するまで.part拡張プログラムとファイルの上記のコードのチェックは10秒ごとのためにダウンロードしていますか3分後にタイムアウトしました。
- 1. 完了後にemacsが自動的にウィンドウを閉じるのを防ぐ
- 2. python - 完了時にfirefoxブラウザを閉じる
- 3. ダイアログボックスが自動的に閉じる
- 4. WebClientダウンロードが完了したら閉じるアプリケーション
- 5. アプリケーションが終了すると、SqlConnectionは自動的に閉じられますか?
- 6. ユーザーがブラウザを閉じると自動的にログアウトする
- 7. ボタンをクリックするとモーダルポップアップが自動的に閉じる
- 8. メインウィンドウを閉じずにTkinterポップアップを自動的に閉じる
- 9. フラッシュファイルを自動的に閉じる
- 10. アプレットが自動的に閉じます
- 11. チャットプログラムが自動的に閉じます
- 12. ポップアップで閉じる(IEとFirefoxで)バイナリファイルをダウンロードするには?
- 13. 完了時にウィンドウを閉じるプログレスバー
- 14. スクロールで自動的に閉じるブートストラップモーダル
- 15. レスポンシブメニューボタンが自動的に閉じない
- 16. スレッドが完了するとダイアログを閉じる
- 17. 処理が完了するとタイムアウトまたは閉じる
- 18. FirebugでSelenium Firefox Webdriverを起動するとFirebugタブを自動的に閉じる方法は?
- 19. $ uibModal自動的に閉じます
- 20. 文を自動的に閉じたい
- 21. Ionic InAppBrowser未完了/閉じるボタンiOS
- 22. フォームを含むときにhtml段落タグが自動的にFirefoxで閉じる
- 23. 親ウィンドウがフォーカスを取得すると、自動的にウィンドウが閉じます
- 24. メインウィンドウを閉じた後にポップアップウィンドウを自動的に閉じる方法
- 25. JavaScriptが自動的にポップアップウィンドウを閉じる
- 26. 起動後に自動的にTomcatウィンドウが閉じます
- 27. innerHTMLによってulが自動的に閉じる
- 28. 自動的に閉じるコンボボックスを修正する方法
- 29. Backbone.Marionette:beforeまで閉じるビューを閉じる閉じるアニメーションが完了しました
- 30. リンクをクリックすると、私のExcelユーザーフォームが自動的に閉じます
データポイントと同様に、ダウンロードステータスバーへのリンクが古いプラグインを指しています。それをインストールすると(あまり注意を払わなかったので)、シマンテックは約1ページにアドウェアが詰まっているために、フリークアウトします。更新されたリンク:https://addons.mozilla.org/en-us/firefox/addon/download-status-bar/ –