セレン実行cdpコマンド、driver.execute_cdp_cmd使い方

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後にすべてのブラウザは、フルスクリーンのスクリーンショットではありません。

おすすめ

転載: www.cnblogs.com/superhin/p/11481910.html