Chromeは非常に強力な開発ツールのデベロッパーツールが付属しています。時々 、私たちは、Seleniumの動作ブラウザの設定を使用するようにシミュレートされたモバイル機器、ネットワークシミュレーション、および弱いのでとしてデベロッパーツールの方法、に関するいくつかの呼び出しを完了する必要があります。
セレンであるwebdriverをクラスが持っているexecute_cdp_cmd(self, cmd, cmd_args)
クロム開発者ツールのコマンドを実行するために使用することができる方法を。
:CDPすなわちクロムデベロッパーツールProtocal、クロム開発ツールの契約、APIのドキュメントでは、を参照してくださいhttps://chromedevtools.github.io/devtools-protocol/tot/Emulation
、例を使用します。
import requests
from selenium import webdriver
from time import sleep
import base64
driver = webdriver.Chrome()
driver.get('https://www.hao123.com/')
res = driver.execute_cdp_cmd('Page.captureScreenshot', {})
with open('hao123.png', 'wb') as f:
img = base64.b64decode(res['data'])
f.write(img)
sleep(3)
driver.quit()
この例では、支持体とJPEGフォーマットをPNG、テーマコールページクラスCDPの方法で、呼び出し元のデータに戻すことは画像のデータフィールドをbase64エンコードされ、二値画像で符号化復号化さを保つことができます。
私は、以下に示すようにクロムデベロッパーツール]メニューフロントコマンドは、コマンドのフルスクリーンショットをキャプチャしているものの、ことを後悔していないが、メソッドのCDPのそのような方法で、Selenium3後にすべてのブラウザは、フルスクリーンのスクリーンショットではありません。