CDPSession
CDPSession
實例用於與原始 Chrome Devtools Protocol 通訊
- 協定方法可以使用
session.send
方法調用。 - 協定事件可以使用
session.on
方法訂閱。
實用連結
- DevTools Protocol 的文件可以在這裡找到:DevTools Protocol Viewer。
- DevTools Protocol 入門: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 事件名稱。
-
handler
Consumer<JsonObject>#事件處理程序。
on
在 v1.37 中新增註冊具有指定事件名稱的事件處理程序。對於每個具有給定名稱的事件,都將調用給定的處理程序。
用法
CDPSession.on(eventName, handler);
引數
-
CDP 事件名稱。
-
handler
Consumer<JsonObject>#事件處理程序。
send
在 v1.9 之前新增用法
CDPSession.send(method);
CDPSession.send(method, args);
引數
-
協定方法名稱。
-
args
JsonObject (選用)在 v1.37 中新增#選用的方法參數。
回傳