CDPSession
CDPSession インスタンスは、生のChrome Devtools Protocolをやり取りするために使用されます。
- プロトコルメソッドは
session.sendメソッドで呼び出すことができます。 - プロトコルイベントは
session.onメソッドで購読できます。
便利なリンク
- DevToolsプロトコルのドキュメントはこちらで確認できます: DevTools Protocol Viewer。
- DevToolsプロトコルの入門: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
CDPSession client = page.context().newCDPSession(page);
client.send("Runtime.enable");
client.on("Animation.animationCreated", (event) -> System.out.println("Animation created!"));
JsonObject response = client.send("Animation.getPlaybackRate");
double playbackRate = response.get("playbackRate").getAsDouble();
System.out.println("playback rate is " + playbackRate);
JsonObject params = new JsonObject();
params.addProperty("playbackRate", playbackRate / 2);
client.send("Animation.setPlaybackRate", params);
メソッド
detach
v1.9より前に追加CDPSessionをターゲットからデタッチします。デタッチされると、CDPSessionオブジェクトはイベントを発行せず、メッセージを送信するために使用できません。
使用法
CDPSession.detach();
戻り値
off
追加されたバージョン: v1.37指定されたイベント名のイベントのイベントハンドラを登録解除します。指定されたハンドラは、指定された名前のイベントに対してはもう呼び出されません。
使用法
CDPSession.off(eventName, handler);
引数
-
CDP イベント名。
-
handlerConsumer<JsonObject>#イベントハンドラ。
on
追加されたバージョン: v1.37指定されたイベント名のイベントのイベントハンドラを登録します。指定されたハンドラは、指定された名前のイベントごとに呼び出されます。
使用法
CDPSession.on(eventName, handler);
引数
-
CDP イベント名。
-
handlerConsumer<JsonObject>#イベントハンドラ。
send
v1.9より前に追加使用法
CDPSession.send(method);
CDPSession.send(method, args);
引数
-
プロトコルメソッド名。
-
argsJsonObject (optional)追加されたバージョン: v1.37#オプションのメソッドパラメータ。
戻り値