0

重複の可能性:
Firefox のファイル ダウンロード ダイアログへのアクセス

Selenium と firefox を使用して、インターネットからファイルをダウンロードしています。ファイルをダウンロードしようとすると、ファイルを保存するか「開く」かを尋ねるダウンロード ボックスが表示されます。ファイルを保存したいが、自動的に保存したくない (ファイル名を変更したい)、ブラウザにファイルの保存場所を尋ねてもらいたい。Firefoxの設定で「ファイルを保存する場所を常に尋ねる」というこのオプションが選択されていても、セレンでスクリプトを実行しているときに、ファイルを保存するように求められません。これを行うためにFirefoxプロファイルを設定するにはどうすればよいですか? すべての Firefox プロファイルはどこで確認できますか? ヘルパーに感謝します。

4

2 に答える 2

4

この問題の少しの回避策を調査しました。私が見つけたものを共有したいと思います。Selenium を使用したオートメーション ブラウザ ダイアログ ボックス全般について: Selenium に ファイルをダウンロードさせる簡単な方法はありません。ブラウザは JavaScript で制御できないネイティブ ダイアログを使用するため、「ハック」が必要です。これ をチェック

特に ffox ブラウザの設定に関しては、自動的にダウンロードを開始して特定の場所にファイルを保存するように Firefox を設定できます

またはそれを使用します:

    FirefoxProfile firefoxProfile = new FirefoxProfile();

    firefoxProfile.setPreference("browser.download.folderList",2);
    firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
    firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");

    WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

    driver.navigate().to("http://www.myfile.com/hey.csv");

これがうまくいくことを願っています

于 2012-10-07T20:17:51.703 に答える
0

セレンが使用するfirefoxプロファイルには、firefoxに付属しているデフォルトのオプションがあります。ファイルを保存する場所をセレンコードで要求するオプションを設定する必要があります。

于 2012-10-06T11:50:31.030 に答える