effect-playwright
    Preparing search index...

    Interface CDPSession

    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:

    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
    });
    interface CDPSession {
        addListener<T extends symbol | (keyof Events)>(
            event: T,
            listener: (
                payload: T extends symbol
                    ? any
                    : Events[T extends keyof Events ? T : never],
            ) => void,
        ): this;
        addListener(
            event: "close",
            listener: (cdpSession: CDPSession) => any,
        ): this;
        addListener(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        detach(): Promise<void>;
        off<T extends symbol | (keyof Events)>(
            event: T,
            listener: (
                payload: T extends symbol
                    ? any
                    : Events[T extends keyof Events ? T : never],
            ) => void,
        ): this;
        off(event: "close", listener: (cdpSession: CDPSession) => any): this;
        off(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        on<T extends symbol | (keyof Events)>(
            event: T,
            listener: (
                payload: T extends symbol
                    ? any
                    : Events[T extends keyof Events ? T : never],
            ) => void,
        ): this;
        on(event: "close", listener: (cdpSession: CDPSession) => any): this;
        on(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        once<T extends symbol | (keyof Events)>(
            event: T,
            listener: (
                payload: T extends symbol
                    ? any
                    : Events[T extends keyof Events ? T : never],
            ) => void,
        ): this;
        once(event: "close", listener: (cdpSession: CDPSession) => any): this;
        once(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        prependListener(
            event: "close",
            listener: (cdpSession: CDPSession) => any,
        ): this;
        prependListener(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        removeListener<T extends symbol | (keyof Events)>(
            event: T,
            listener: (
                payload: T extends symbol
                    ? any
                    : Events[T extends keyof Events ? T : never],
            ) => void,
        ): this;
        removeListener(
            event: "close",
            listener: (cdpSession: CDPSession) => any,
        ): this;
        removeListener(
            event: "event",
            listener: (data: { method: string; params?: Object }) => any,
        ): this;
        send<T extends keyof CommandParameters>(
            method: T,
            params?: CommandParameters[T],
        ): Promise<CommandReturnValues[T]>;
    }
    Index
    • Type Parameters

      • T extends symbol | (keyof Events)

      Parameters

      • event: T
      • listener: (
            payload: T extends symbol
                ? any
                : Events[T extends keyof Events ? T : never],
        ) => void

      Returns this

    • Emitted when the session is closed, either because the target was closed or session.detach() was called.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time.

      Usage

      session.on('event', ({ method, params }) => {
      console.log(`CDP event: ${method}`, params);
      });

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

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

      Returns Promise<void>

    • Type Parameters

      • T extends symbol | (keyof Events)

      Parameters

      • event: T
      • listener: (
            payload: T extends symbol
                ? any
                : Events[T extends keyof Events ? T : never],
        ) => void

      Returns this

    • Removes an event listener added by on or addListener.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Removes an event listener added by on or addListener.

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

    • Type Parameters

      • T extends symbol | (keyof Events)

      Parameters

      • event: T
      • listener: (
            payload: T extends symbol
                ? any
                : Events[T extends keyof Events ? T : never],
        ) => void

      Returns this

    • Emitted when the session is closed, either because the target was closed or session.detach() was called.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time.

      Usage

      session.on('event', ({ method, params }) => {
      console.log(`CDP event: ${method}`, params);
      });

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

    • Type Parameters

      • T extends symbol | (keyof Events)

      Parameters

      • event: T
      • listener: (
            payload: T extends symbol
                ? any
                : Events[T extends keyof Events ? T : never],
        ) => void

      Returns this

    • Adds an event listener that will be automatically removed after it is triggered once. See addListener for more information about this event.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Adds an event listener that will be automatically removed after it is triggered once. See addListener for more information about this event.

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

    • Emitted when the session is closed, either because the target was closed or session.detach() was called.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time.

      Usage

      session.on('event', ({ method, params }) => {
      console.log(`CDP event: ${method}`, params);
      });

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

    • Type Parameters

      • T extends symbol | (keyof Events)

      Parameters

      • event: T
      • listener: (
            payload: T extends symbol
                ? any
                : Events[T extends keyof Events ? T : never],
        ) => void

      Returns this

    • Removes an event listener added by on or addListener.

      Parameters

      • event: "close"
      • listener: (cdpSession: CDPSession) => any

      Returns this

    • Removes an event listener added by on or addListener.

      Parameters

      • event: "event"
      • listener: (data: { method: string; params?: Object }) => any

      Returns this

    • Type Parameters

      • T extends keyof CommandParameters

      Parameters

      • method: T

        Protocol method name.

      • Optionalparams: CommandParameters[T]

        Optional method parameters.

      Returns Promise<CommandReturnValues[T]>