2012-01-10 19 views
0

私はheadless watir-webdriverを使用しています。特定の操作であるbrowser.div.clickがファイルのダウンロードを促すことを知っています。あなたがFFを使用しているときにファイルをダウンロードするフォルダを指定することはできますが、ヘッドレスでファイルをダウンロードするにはどうしたらいいですか?フォルダを指定する方法、またはそれをメモリに読み込む方法はありますか?watir-webdriverを使用してヘッドレスでファイルのダウンロードを処理する方法は?

ご協力いただければ幸いです。

+0

うわー、それは厳しいものです。私は後でそれを見てみるかもしれない。しかし、本能は、それが自動化のためにスキップするテストだと私に伝えます。 –

+0

私は実際にテスト目的ではなく、javascriptで書かれたサイトから情報を取得しています。私はwatirがテストのために作られたことを知っていますが、私はjavascriptサイトと対話する方法を探していました。 Mechanizeにはその機能がなく、私は他のオプションを見つけることができませんでした。 – asahi

+0

それからブラウザでやってみてください。それがうまくいかない場合は、プロの掻き取りツールを試してみてください。がんばろう。 –

答えて

0

ヘッドレスをテストするには実用的ではないと思います。どのようにヘッドレスのユーザーに促すことができますか?私はファイルをどこに送るべきかを教えなければならないと思います。これはwebdriverの人々のためのより多くの質問かもしれません、それは彼らの基本的な機能です。ただそれを直接呼び出さなければならないかもしれません。

サイトはRESTインターフェイスを実装しているか、ファイルを直接取得する方法はありますか?たぶん、cURLまたはREST-CLientを試してみませんか?

主な目的がファイルをダウンロードするだけであれば、最初の課題は、ファイルのURLがウェブページのコードからどうなっているかを知ることです。あなたがそれを特定できたら、それを使ってcURL gemを見るか(コマンドラインから単にcURL)、ファイルダウンロードのHTTPアドレスに対してgetを呼び出し、それをファイルに保存するか、それを使って作業します必要に応じてメモリに保存してください

+0

サイトはファイルを直接取得する方法を実装していません。基本的にdivをクリックして、ファイルをダウンロードするように求められます(ブラウザを使用している場合) – asahi

+0

@shig divのHTMLは何ですか?私はおそらくあなたがhttpの仕事を通してどのようにファイルを転送するかをよく理解しているとは思わない。保存のためのプロンプトはブラウザから来ます。 –

+0

おそらく私はファイル転送の仕組みを理解していないでしょう。その場合、私があなたに与えることができるさらなる情報が大好きです。 browser.div(:id、 "download-file")をクリックすると、ブラウザを使用している場合はブラウザのダウンロードが促されますが、理想的にはこれを実行したいと考えています。希望は意味をなさない。 – asahi

0

可能な解決策は、ダウンロードダイアログを開く代わりに、ブラウザにバイナリコンテンツを表示するようにプロファイル設定を変更することです。

関連する問題