Interface Debugger

API for controlling the Playwright debugger. The debugger allows pausing script execution and inspecting the page. Obtain the debugger instance via browserContext.debugger.

interface Debugger {
    addListener(event, listener): this;
    next(): Promise<void>;
    off(event, listener): this;
    on(event, listener): this;
    once(event, listener): this;
    pausedDetails(): {
        location: {
            column?: number;
            file: string;
            line?: number;
        };
        title: string;
    };
    prependListener(event, listener): this;
    removeListener(event, listener): this;
    requestPause(): Promise<void>;
    resume(): Promise<void>;
    runTo(location): Promise<void>;
}

Methods

  • Emitted when the debugger pauses or resumes.

    Parameters

    • event: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns any

    Returns this

  • Resumes script execution and pauses again before the next action. Throws if the debugger is not paused.

    Returns Promise<void>

  • Removes an event listener added by on or addListener.

    Parameters

    • event: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns any

    Returns this

  • Emitted when the debugger pauses or resumes.

    Parameters

    • event: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns 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: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns any

    Returns this

  • Returns details about the currently paused call. Returns null if the debugger is not paused.

    Returns {
        location: {
            column?: number;
            file: string;
            line?: number;
        };
        title: string;
    }

    • location: {
          column?: number;
          file: string;
          line?: number;
      }
      • Optional column?: number
      • file: string
      • Optional line?: number
    • title: string
  • Emitted when the debugger pauses or resumes.

    Parameters

    • event: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns any

    Returns this

  • Removes an event listener added by on or addListener.

    Parameters

    • event: "pausedstatechanged"
    • listener: (() => any)
        • (): any
        • Returns any

    Returns this

  • Configures the debugger to pause before the next action is executed.

    Throws if the debugger is already paused. Use debugger.next() or debugger.runTo(location) to step while paused.

    Note that page.pause() is equivalent to a "debugger" statement — it pauses execution at the call site immediately. On the contrary, debugger.requestPause() is equivalent to "pause on next statement" — it configures the debugger to pause before the next action is executed.

    Returns Promise<void>

  • Resumes script execution. Throws if the debugger is not paused.

    Returns Promise<void>

  • Resumes script execution and pauses when an action originates from the given source location. Throws if the debugger is not paused.

    Parameters

    • location: {
          column?: number;
          file: string;
          line?: number;
      }

      The source location to pause at.

      • Optional column?: number
      • file: string
      • Optional line?: number

    Returns Promise<void>