FirefoxによってWebdriverを介してレンダリングされたページに画像があり、そのオブジェクト(wd.find_element_by_xpath("id('main')/form/p[5]/img")
)を取得できますが、その本体をbase64でエンコードするか、ハードドライブ上の場所だけを取得するにはどうすればよいですか?
src
PS:外部ツールで取得して取得することを提案しないでください。ブラウザにすでにある画像が欲しいです。
キャッシュされた画像は、次のようなURLに移動することでFirefoxのキャッシュから抽出できます。
about:cache-entry?client=HTTP&sb=1&key=http://your.server/image.png
結果のページには、次のような「ディスク上のファイル」ラベルの行が含まれます。
file on disk: /home/fviktor/.mozilla/firefox/7jx6k3hx.default/Cache/CF7379D8d01
このページには、ファイルの内容の16進ダンプも含まれます。そのパスからファイルをロードするか、16進ダンプを解析できます。none
パスは、メモリにのみキャッシュされた小さなファイルの場合にも使用できることに注意してください。この場合、唯一のオプションは16進ダンプを解析することです。
ディスクにキャッシュファイルがある場合に16進ダンプを抑制する方法があるかもしれませんが、それについてはよくわかりません。
fvictorの答えは役に立ちましたが、構文が変更されました。Firefoxバージョン60.9esrでは、エントリはとして保存され、ページにはラベルabout:cache-entry?storage=disk&context=&eid=&uri=https://example.com/images/img.png
が含まれていません。file on disk
しかし、下部にはまだ16進ダンプがあります。