CDPSession
Экземпляры CDPSession используются для прямого взаимодействия с протоколом Chrome DevTools:
- методы протокола можно вызывать с помощью метода
session.send. - подписаться на события протокола можно с помощью метода
session.on.
Полезные ссылки:
- Документация по протоколу DevTools доступна здесь: Средство просмотра протокола DevTools.
- Начало работы с протоколом DevTools: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
const client = await page.context().newCDPSession(page);
await client.send('Animation.enable');
client.on('Animation.animationCreated', () => console.log('Animation created!'));
const response = await client.send('Animation.getPlaybackRate');
console.log('playback rate is ' + response.playbackRate);
await client.send('Animation.setPlaybackRate', {
playbackRate: response.playbackRate / 2
}); Методы
detach
Добавлено до v1.9Отсоединяет CDPSession от целевого объекта. После отсоединения объект CDPSession перестанет генерировать события, и его нельзя будет использовать для отправки сообщений.
Использование
await cdpSession.detach();
Возвращает
send
Добавлено до v1.9Использование
await cdpSession.send(method); await cdpSession.send(method, params);
Аргументы
Возвращает
События
on('close')
Генерируется при закрытии сеанса, если целевой объект был закрыт или был вызван session.detach().
Использование
cdpSession.on('close', data => {}); Данные события
on('event')
Генерируется для каждого события CDP, полученного от сеанса. Позволяет подписаться сразу на все события CDP, не зная их имён заранее.
Использование
session.on('event', ({ method, params }) => {
console.log(`CDP event: ${method}`, params);
}); Данные события
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-cdpsession