2011-01-18 8 views
4

セレン2をウェブドライバで使用する私のスクリプトの1つでは、pdfまたはcsvでレポートを保存する必要があります。私はそれとやりとりする方法を知らない。今はFirefoxで試していますが、すべてのブラウザで動作させたいのですが。セレン2ウェブドライバダイアログとして保存

webDriverとseleniumがダイアログとして保存にアクセスできないが、回避策があるかどうか疑問に思っていた2009年からの記事をいくつか読んだ。

私はちょうどそれが私の知っている

+0

のビットを、それを当社試験フルスタックに興味がある場合は、[1] [私はここでのpythonを使って答えを掲載]。 [1]:これはToDoリストにアップ高いことが一般的に十分な問題だろうが、私は3年前に起こったスレッドを見ているようhttp://stackoverflow.com/a/11872608/471376 – JamesThomasMoon1979

答えて

2

"SaveAs"と "File Open"ダイアログボックスの問題は、テストが実行されているOSに依存し、セレンrcと対話する手段がないことです。このための唯一の解決策は、AutoItのような外部デスクトップオートメーションスクリプトを使用してダイアログボックスを処理することです。 Here'sこれを行う方法に関する良いチュートリアル。

おかげで、
Vamyip

+2

OPはWebDriverについてRCが話しているので、この機能は可能でなければならない。 – Draemon

+0

デスクトップオートメーションについては、X11のために(例えば、Linuxだけですが)、興味があるかもしれません:[xdotool by Jordan Sissel](http://www.semicomplete.com/projects/xdotool/)、 「原因」ツールを使用すると、キーボードの入力やマウスの動作をシミュレートしたり、ウィンドウを移動したりサイズを変更したりすることができます。 –

2

唯一の解決策はFirefoxのみで、保存ボタンをクリックし、それを開こうとしないように保存する]ラジオボタンをクリックする必要があります。プロファイルの設定を微調整して、いくつかのMIMEタイプをあなたが選んだディレクトリに自動的にダウンロードすることができます。私の答えhereを参照してください。

+0

は思えますその上に。私は自分のものでハッキーな仕事の周辺を使うことを嫌う。 – ducati1212

0

うーん、あなたはファイルをダウンロード中にだけ関心がある場合は、そのファイルを手動でダウンロードすることを好むかもしれません。

自動化のためのHTTP要求ではなく、セレンを使用するさまざまな理由がありますが、一般的なのは、ログインしてナビゲートするときにjavascriptやCookieを使いこなすことです。これがあなたが興味を持っているコードであれば、pythonコードはurlを取得するためにセレンからクッキーを再利用する方法を示しています。

import requests 
def fetch_url(driver, url): 
    cookies = dict([(cookie['name'], cookie['value']) for cookie in driver.get_cookies()]) 
    driver.get_cookies() 
    return requests.get(url, cookies=cookies) 

あなたは別の話...

関連する問題