Seleniumがブラウザのものとは異なるキャプチャ画像をダウンロードする

ブランド

Seleniumでキャプチャ画像をダウンロードしようとしていますが、ブラウザに表示されているものとは異なる画像がダウンロードされます。ブラウザを変更せずにもう一度画像をダウンロードしようとすると、別の画像が表示されます。

何かご意見は?

from selenium import webdriver
import urllib


driver = webdriver.Firefox()
driver.get("http://sistemas.cvm.gov.br/?fundosreg")

# Change frame.
driver.switch_to.frame("Main")


# Download image/captcha.
img = driver.find_element_by_xpath(".//*[@id='trRandom3']/td[2]/img")
src = img.get_attribute('src')
urllib.request.urlretrieve(src, "captcha.jpeg")
カシミールクリスタル

画像のリンクを開くとsrc、ランダムに新しいキャプチャ画像が表示されるためです。

画像からファイルをダウンロードする代わりにsrc、スクリーンショットを撮ってブラウザに表示することができます。ただし、Pillowpip install Pillowをダウンロードして、この回答に記載されている方法で使用する必要があります

from PIL import Image
from selenium import webdriver

def get_captcha(driver, element, path):
    # now that we have the preliminary stuff out of the way time to get that image :D
    location = element.location
    size = element.size
    # saves screenshot of entire page
    driver.save_screenshot(path)

    # uses PIL library to open image in memory
    image = Image.open(path)

    left = location['x']
    top = location['y'] + 140
    right = location['x'] + size['width']
    bottom = location['y'] + size['height'] + 140

    image = image.crop((left, top, right, bottom))  # defines crop points
    image.save(path, 'jpeg')  # saves new cropped image


driver = webdriver.Firefox()
driver.get("http://sistemas.cvm.gov.br/?fundosreg")

# change frame
driver.switch_to.frame("Main")

# download image/captcha
img = driver.find_element_by_xpath(".//*[@id='trRandom3']/td[2]/img")
get_captcha(driver, img, "captcha.jpeg")



driver = webdriver.Firefox()
driver.get("http://sistemas.cvm.gov.br/?fundosreg")

# change frame
driver.switch_to.frame("Main")

# download image/captcha
img = driver.find_element_by_xpath(".//*[@id='trRandom3']/td[2]/img")
get_captcha(driver, img, "captcha.jpeg")

(あなたの場合に機能するように、コードを少し変更したことに注意してください。)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ブラウザウィンドウのクローズイベントをキャプチャする方法は?

分類Dev

消えるAPIリンクとペイロードをブラウザからキャプチャする

分類Dev

Selenium と Java を使用してブラウザ コンソール ログをキャプチャするにはどうすればよいですか

分類Dev

.NETWebブラウザコントロールキャプチャのダウンロード

分類Dev

スクリーンキャプチャブラウザのブックマークドロップダウンメニューを表示するにはどうすればよいですか?

分類Dev

「プロキシ」としての Netty: 異なるポート番号のアウトバウンド チャネル

分類Dev

Jenkinsコードのダウンストリームジョブのビルド番号をパイプラインとしてキャプチャする

分類Dev

Seleniumはブラウザでキャプチャ画像を取得します

分類Dev

いずれかのブラウザがAndroidにファイルを保存すると、ブロードキャストが送信されますか?Androidのブラウザで保存/ダウンロードしたファイルを傍受するにはどうすればよいですか?

分類Dev

個々のユーザーディレクトリ(ダウンロード、画像など)を異なるハードドライブにマウントする方法

分類Dev

JQueryでCTRL + Sをキャプチャするための最適なクロスブラウザーメソッド?

分類Dev

ラムダキャプチャリスト:オブジェクト全体をキャプチャしないと、オブジェクトのメンバーフィールドを値でキャプチャすることはできませんか?

分類Dev

Javaを使用してSelenium WebDriverでブラウザーログをキャプチャする

分類Dev

CDNが特定のドキュメントをキャッシュするのに、ブラウザがキャッシュしないのはなぜですか?

分類Dev

sysoutが追加されたときに異なる動作をするユーザー作成のスレッドプールシャットダウン

分類Dev

anglejs ui-ドロップダウンライブ検索の値ではなく、キーのみをキャプチャするように選択します

分類Dev

ラムダキャプチャと同じ名前のパラメータ-誰が他をシャドウしているのですか?(clangとgcc)

分類Dev

スライドショーの画像が変わると、ブラウザはページの一番上にジャンプしますか?

分類Dev

Ubuntuでランチャーを右クリックしたときに開いているNemoファイルブラウザーウィンドウの完全なフォルダーパスを表示するにはどうすればよいですか?

分類Dev

AFNetworking-画像のダウンロードをキャンセルする

分類Dev

キャンバス、画像のダウンロードを無効にする

分類Dev

ブラウザのウィンドウサイズ変更をキャッチするためのReactJS機能が機能していない

分類Dev

ウィンドウの「キャプチャ」アプリケーションは、予期しない終了時に、キャプチャされたウィンドウを非表示にすることができます。この問題を防止/修正するにはどうすればよいですか?

分類Dev

イベントを剣道ドロップダウンリストにバインドする際のキャッチされないタイプエラー

分類Dev

キャンバスを使用して画像をダウンロードすると、ファイルのサイズが大きくなります

分類Dev

ブラウザのサイズを変更すると、画像ギャラリーの右側に大きなギャップが残ります

分類Dev

Javascript:Webブラウザーに写真を表示する前に、複数の写真をキャプチャすることは可能ですか?

分類Dev

ブラウザがCSSファイルをダウンロードすると、Chromeのレンダリングエンジンはどうなりますか?

分類Dev

FFMPEGを使用してブラウザのタブコンテンツをキャプチャする方法

Related 関連記事

  1. 1

    ブラウザウィンドウのクローズイベントをキャプチャする方法は?

  2. 2

    消えるAPIリンクとペイロードをブラウザからキャプチャする

  3. 3

    Selenium と Java を使用してブラウザ コンソール ログをキャプチャするにはどうすればよいですか

  4. 4

    .NETWebブラウザコントロールキャプチャのダウンロード

  5. 5

    スクリーンキャプチャブラウザのブックマークドロップダウンメニューを表示するにはどうすればよいですか?

  6. 6

    「プロキシ」としての Netty: 異なるポート番号のアウトバウンド チャネル

  7. 7

    Jenkinsコードのダウンストリームジョブのビルド番号をパイプラインとしてキャプチャする

  8. 8

    Seleniumはブラウザでキャプチャ画像を取得します

  9. 9

    いずれかのブラウザがAndroidにファイルを保存すると、ブロードキャストが送信されますか?Androidのブラウザで保存/ダウンロードしたファイルを傍受するにはどうすればよいですか?

  10. 10

    個々のユーザーディレクトリ(ダウンロード、画像など)を異なるハードドライブにマウントする方法

  11. 11

    JQueryでCTRL + Sをキャプチャするための最適なクロスブラウザーメソッド?

  12. 12

    ラムダキャプチャリスト:オブジェクト全体をキャプチャしないと、オブジェクトのメンバーフィールドを値でキャプチャすることはできませんか?

  13. 13

    Javaを使用してSelenium WebDriverでブラウザーログをキャプチャする

  14. 14

    CDNが特定のドキュメントをキャッシュするのに、ブラウザがキャッシュしないのはなぜですか?

  15. 15

    sysoutが追加されたときに異なる動作をするユーザー作成のスレッドプールシャットダウン

  16. 16

    anglejs ui-ドロップダウンライブ検索の値ではなく、キーのみをキャプチャするように選択します

  17. 17

    ラムダキャプチャと同じ名前のパラメータ-誰が他をシャドウしているのですか?(clangとgcc)

  18. 18

    スライドショーの画像が変わると、ブラウザはページの一番上にジャンプしますか?

  19. 19

    Ubuntuでランチャーを右クリックしたときに開いているNemoファイルブラウザーウィンドウの完全なフォルダーパスを表示するにはどうすればよいですか?

  20. 20

    AFNetworking-画像のダウンロードをキャンセルする

  21. 21

    キャンバス、画像のダウンロードを無効にする

  22. 22

    ブラウザのウィンドウサイズ変更をキャッチするためのReactJS機能が機能していない

  23. 23

    ウィンドウの「キャプチャ」アプリケーションは、予期しない終了時に、キャプチャされたウィンドウを非表示にすることができます。この問題を防止/修正するにはどうすればよいですか?

  24. 24

    イベントを剣道ドロップダウンリストにバインドする際のキャッチされないタイプエラー

  25. 25

    キャンバスを使用して画像をダウンロードすると、ファイルのサイズが大きくなります

  26. 26

    ブラウザのサイズを変更すると、画像ギャラリーの右側に大きなギャップが残ります

  27. 27

    Javascript:Webブラウザーに写真を表示する前に、複数の写真をキャプチャすることは可能ですか?

  28. 28

    ブラウザがCSSファイルをダウンロードすると、Chromeのレンダリングエンジンはどうなりますか?

  29. 29

    FFMPEGを使用してブラウザのタブコンテンツをキャプチャする方法

ホットタグ

アーカイブ