2

私は Firefox の WebDriver を試していますが、「ダウンロード」ウィンドウを処理できるかどうか (受信したダウンロード要求を受け入れるか拒否するか) を尋ねたいです。

たとえば、単純なコード:

import selenium.firefox.webdriver

dr = selenium.firefox.webdriver.WebDriver()
# Firefox is showed up.

# Let's say I'd want to download python.
dr.get('http://python.org/ftp/python/3.1.3/python-3.1.3.msi')
# Download window is showed up.
# How could I accept the download request?

# As I understand, the method below should return 
# two handles but I get only main window's handle. 
handles = dr.get_window_handles()

# Seems like WebDriver cannot "see" this popup.

私はこれを少し試しましたが、まだ解決策を見つけていません。ヒントをいただければ幸いです。

どうもありがとう - V

4

3 に答える 3

5

これに対する 1 つの解決策は、WebDriver の Firefox プロファイルを変更して、特定のディレクトリにいくつかの MIME タイプを自動的にダウンロードすることです。

これが Python でどのように公開されているか (または公開されているかどうか) はわかりませんが、Selenium wiki のRuby バインディング ページ(「Firefox の設定を調整する」の下) で言及されています。

于 2010-12-10T16:44:29.090 に答える
3

これが WebDriver が構築された目的であるとは思いませんが、ちょっと試してみたいと思います。この特定のケースを処理するために Firefox WebDriver に組み込まれているものは何もありませんが、いくつかの方法があります。

WebDriver スクリプトが使用するプロファイルで FF を開き、環境設定を編集して、尋ねる代わりに常にファイルを保存することができます ([オプション] > [アプリケーション] > [Windows インストーラー パッケージ] - [ファイルを保存] に設定)。ただし、404 ページにリダイレクトされない限り、ファイルがブラウザからダウンロードされていることを知る方法はありません。そうでない場合は、同じプロファイルのダウンロード ディレクトリにファイルが存在するかどうかを確認できます ([オプション] > [メイン] > [ダウンロード])。まだダウンロード中の場合、ファイル名はWhateverFileName.ext.partになります

もう 1 つのオプションは、非ビジュアル HTMLUnit ドライバーを使用し、ダウンロード リンクに移動してクリックし、ページ ソース (ファイルの内容になります) を取得することです。これはテキスト ファイルで機能しますが、バイナリでも同様に機能するかどうかは保証できません。また、そのような場合にどのようにエンコードされるかもわかりません。

幸運を祈ります

于 2010-12-09T15:15:00.150 に答える
3

カピバラを使用してファイルをダウンロードしようとしていて、ダウンロードプロンプトで停止したときにこれに遭遇しました

SeleniumHQ : Selenium WebDriver

profile = Selenium::WebDriver::Firefox::Profile.new
profile['browser.download.dir'] = "/Downloads"
profile['browser.download.folderList'] = 2
profile['browser.helperApps.neverAsk.saveToDisk'] = "audio/wav"
driver = Selenium::WebDriver.for :firefox, :profile => profile
driver.navigate.to('http://www.address.com/file.wav')

これは指定されたディレクトリにファイルをダウンロードするだけで、プロンプトは表示されません:)

私が遭遇した他のオプションは

Firefox と Watir-WebDriver を使用して自動保存するファイルの MIME タイプを決定する

私は前にwatirを試しましたが、非常に便利であることがわかりました

于 2013-02-06T12:30:10.547 に答える