CDPSession
Экземпляры CDPSession
используются для работы с протоколом Chrome Devtools напрямую:
- методы протокола могут быть вызваны с помощью метода
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.
-
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#Опциональные параметры метода.
Возвращает