📄 playwright-python/python/docs/api/class-cdpsession

File: class-cdpsession.md | Updated: 11/18/2025

Source: https://playwright.dev/python/docs/api/class-cdpsession

Skip to main content

On this page

The CDPSession instances are used to talk raw Chrome Devtools Protocol:

  • protocol methods can be called with session.send method.
  • protocol events can be subscribed to with session.on method.

Useful links:

  • Documentation on DevTools Protocol can be found here: DevTools Protocol Viewer .

  • Getting Started with DevTools Protocol: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md

  • Sync

  • Async

    client = page.context.new_cdp_session(page)client.send("Animation.enable")client.on("Animation.animationCreated", lambda: print("animation created!"))response = client.send("Animation.getPlaybackRate")print("playback rate is " + str(response["playbackRate"]))client.send("Animation.setPlaybackRate", { "playbackRate": response["playbackRate"] / 2})

    client = await page.context.new_cdp_session(page)await client.send("Animation.enable")client.on("Animation.animationCreated", lambda: print("animation created!"))response = await client.send("Animation.getPlaybackRate")print("playback rate is " + str(response["playbackRate"]))await client.send("Animation.setPlaybackRate", { "playbackRate": response["playbackRate"] / 2})


Methods


detach

Added before v1.9 cdpSession.detach

Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to send messages.

Usage

cdp_session.detach()

Returns


send

Added before v1.9 cdpSession.send

Usage

cdp_session.send(method)cdp_session.send(method, **kwargs)

Arguments

  • method str #

    Protocol method name.

  • params Dict (optional)#

    Optional method parameters.

Returns