-1

私はブラウザとしてChromeを使用しています.Seleniumを使って自分のコンピュータにキャプチャを保存したいと思います。 URLからリクエストするたびにランダムなイメージが表示されますが、ブラウザに表示されたイメージが必要なので、再度リクエストすることはできません(画像のsrcを取得してからrequests別の画像を取得する)ホワイトリストを持っているからSeleniumとPythonを使用してロードされた画像リソースを保存するには?

は)ので、私はそれを使用することはできません私はキャプチャを取得したい(例として、ウェブサイトを、このウェブサイトを取る:。 https://unsplash.it/200/300/?random

from selenium import webdriver 

if __name__ == '__main__': 
    driver = webdriver.Chrome(r'F:\Dev\ChromeDriver\chromedriver.exe') 
    driver.get('https://unsplash.it/200/300/?random') 
    img = driver.find_element_by_tag_name('img') 

を今私がすることができますブラウザの画像を見ると、同じ画像をコンピュータにファイルとして保存するにはどうすればよいですか?

P.S.

  • img.screenshot('image.png')は、captchaのウェブサイトでは機能しません。

  • ページ全体のスクリーンショットを保存することはできますが、もっと良い解決策を教えてください。

+0

それはURLが同じであるため、スクリーンショットを取ることが容易であるかもしれないように見えますが、それは毎回異なる画像を生成します。 [前の提案](https://stackoverflow.com/questions/11893904/how-to-save-an-image-by-selecting-save-image-as-in-a-context-menu-using-sel) – Kyle

+0

質問を編集して、適切な回答を特定するのに十分な詳細を持つ特定の問題に限定してください。一度に複数の異なる質問をしないでください。この質問を明確にするために[ask]ページを参照してください。 – JeffC

答えて

0

Chromeについてはわかりませんが、Firefoxブラウザでも同じことができました。 コードは次のようになります:

from selenium import webdriver 
    import requests 
    driver=webdriver.Firefox() 
    driver.get("http/https://your website") 
    img=driver.find_element_by_xpath("xpath leading to your element")#locating element 
    src=img.get_attribute('src')#fetch the location of image 
    img=requests.get(src)#fetch image 
    with open('image.jpg','wb') as writer:#open for writing in binary mode 
     writer.write(img.content)#write the image 
+0

ブラウザを閉じるためのステートメントを追加するのを忘れました。あなたがそれを一緒に加えることを望みます。 – Akash

関連する問題