Implementation:Microsoft Playwright Client Events
| Knowledge Sources | |
|---|---|
| Domains | Browser Automation, Event System |
| Last Updated | 2026-02-12 00:00 GMT |
Overview
Concrete tool for defining all client-side event name constants used by Playwright objects provided by the Playwright library.
Description
The Events constant is a frozen object that maps human-readable event name keys to their string event identifiers for every major Playwright client object. It serves as the single source of truth for event name strings, preventing typos and enabling IDE autocompletion. The namespaces include:
- AndroidDevice: WebView, Close
- AndroidSocket: Data, Close
- AndroidWebView: Close
- Browser: Disconnected
- BrowserContext: Console, Close, Dialog, Page, WebError, BackgroundPage (deprecated), ServiceWorker, Request, Response, RequestFailed, RequestFinished
- BrowserServer: Close
- Page: Close, Crash, Console, Dialog, Download, FileChooser, DOMContentLoaded, PageError, Request, Response, RequestFailed, RequestFinished, FrameAttached, FrameDetached, FrameNavigated, Load, Popup, WebSocket, Worker
- PageAgent: Turn
- WebSocket: Close, Error, FrameReceived, FrameSent
- Worker: Close, Console
- ElectronApplication: Close, Console, Window
Usage
Use the Events constant throughout the Playwright codebase instead of hardcoded event name strings. This ensures consistency and provides a centralized reference for all event names emitted by client objects.
Code Reference
Source Location
- Repository: Microsoft_Playwright
- File:
packages/playwright-core/src/client/events.ts
Signature
export const Events = {
AndroidDevice: { WebView: 'webview', Close: 'close' },
AndroidSocket: { Data: 'data', Close: 'close' },
AndroidWebView: { Close: 'close' },
Browser: { Disconnected: 'disconnected' },
BrowserContext: {
Console: 'console', Close: 'close', Dialog: 'dialog', Page: 'page',
WebError: 'weberror', BackgroundPage: 'backgroundpage', ServiceWorker: 'serviceworker',
Request: 'request', Response: 'response', RequestFailed: 'requestfailed', RequestFinished: 'requestfinished',
},
BrowserServer: { Close: 'close' },
Page: {
Close: 'close', Crash: 'crash', Console: 'console', Dialog: 'dialog',
Download: 'download', FileChooser: 'filechooser', DOMContentLoaded: 'domcontentloaded',
PageError: 'pageerror', Request: 'request', Response: 'response',
RequestFailed: 'requestfailed', RequestFinished: 'requestfinished',
FrameAttached: 'frameattached', FrameDetached: 'framedetached',
FrameNavigated: 'framenavigated', Load: 'load', Popup: 'popup',
WebSocket: 'websocket', Worker: 'worker',
},
PageAgent: { Turn: 'turn' },
WebSocket: { Close: 'close', Error: 'socketerror', FrameReceived: 'framereceived', FrameSent: 'framesent' },
Worker: { Close: 'close', Console: 'console' },
ElectronApplication: { Close: 'close', Console: 'console', Window: 'window' },
};
Import
import { Events } from 'playwright-core/src/client/events';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (none) | N/A | N/A | This module exports a constant object with no inputs |
Outputs
| Name | Type | Description |
|---|---|---|
| Events | object |
A nested constant object mapping Playwright object types to their event name strings |
Usage Examples
import { Events } from 'playwright-core/src/client/events';
// Listen for page close
page.on(Events.Page.Close, () => console.log('Page closed'));
// Listen for new pages in context
context.on(Events.BrowserContext.Page, (page) => {
console.log('New page:', page.url());
});
// Listen for console messages
page.on(Events.Page.Console, (msg) => {
console.log(`[${msg.type()}] ${msg.text()}`);
});
// Check browser disconnection
browser.on(Events.Browser.Disconnected, () => {
console.log('Browser disconnected');
});