2012-08-10 18 views
5

特定の画像をディレクトリに保存するには、selenium webdriverを使用しています。私はimg要素の右クリックをシミュレートし、 "イメージを保存..."を選択することでこれを行うことを検討していました。次のコードで、コンテキストメニューを開くことができますが、正しいオプションを選択することができません。Selenium Webdriver(Python)を使用してコンテキストメニューで「画像を保存...」を選択して画像を保存する方法

browser = WebDriver(executable_path=CHROMEDRIVER_PATH) 
browser.get(URL) 
img = browser.find_element_by_tag_name('img') 
ActionChains(browser).context_click(img).perform() 

私も試してみました:

ActionChains(browser).context_click(img).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()     

、ショートカットを使用して( 'vは' を選択しているようだ "として画像を保存...")

ActionChains(browser).context_click(img).send_keys('v').perform() 

画像がありません。各クリックでランダムに再読み込みされるキャプチャイメージなので、直接URLです。私が見つけた唯一の方法は、私がそれを処理できるようにすることです。最初にディスクに保存します( "save image as ..."を使用します)。ページ全体を保存しても、この特定のイメージは保存されないため、うまく機能しません。

アイデア?

+0

これはあなたに役立つかもしれませんhttp://stackoverflow.com/a/3324611/541208 – TankorSmash

+0

あなたの返信のためのtksが、私はこの問題を解決しないと思う。可能であれば、Chrome Web Driverを使用してこれを実現したいと思います。私はjavascriptをレンダリングするときにFireFoxを使用していくつかの問題があった。 –

答えて

3

あなたが守っているキャプチャなら、おそらくスクリーンショットを撮る方が良いでしょう。

driver.save_screenshot('screenshot.png') 
0

kreativiteaによって示唆されるようにCAPTCHAのは、あなたが何をしようとしてやってからスクリプトを防ぐために設計されていたので、スクリーンショットが進むべき道だろう。 CAPTCHAはセッションの再利用を防ぐためのものです。セッション再利用を記述するHere is a page。私は同様の問題を抱えて、ちょうど今のように保存用いて画像を保存するためのショートカットを得た

0

---

Step-1-right click on an image you wish to save 
Step-2- press v. 
Step-3-Enter to the directory window to save 

私は、コードを貼り付けることができなかった理由は、Javaプログラマはthatsのだので、それに応じて(質問はPythonの質問)。

関連する問題