Screencast
Interface for capturing screencast frames from a page.
Methods
hideActions
Added in: v1.59Removes action decorations.
Usage
await screencast.hideActions();
Returns
hideOverlays
Added in: v1.59Hides overlays without removing them.
Usage
await screencast.hideOverlays();
Returns
showActions
Added in: v1.59Enables visual annotations on interacted elements. Returns a disposable that stops showing actions when disposed.
Usage
await screencast.showActions();
await screencast.showActions(options);
Arguments
optionsObject (optional)-
How long each annotation is displayed in milliseconds. Defaults to
500. -
Font size of the action title in pixels. Defaults to
24. -
position"top-left" | "top" | "top-right" | "bottom-left" | "bottom" | "bottom-right" (optional)#Position of the action title overlay. Defaults to
"top-right".
-
Returns
showChapter
Added in: v1.59Shows a chapter overlay with a title and optional description, centered on the page with a blurred backdrop. Useful for narrating video recordings. The overlay is removed after the specified duration, or 2000ms.
Usage
await screencast.showChapter(title);
await screencast.showChapter(title, options);
Arguments
-
Title text displayed prominently in the overlay.
-
optionsObject (optional)
Returns
showOverlay
Added in: v1.59Adds an overlay with the given HTML content. The overlay is displayed on top of the page until removed. Returns a disposable that removes the overlay when disposed.
Usage
await screencast.showOverlay(html);
await screencast.showOverlay(html, options);
Arguments
-
HTML content for the overlay.
-
optionsObject (optional)
Returns
showOverlays
Added in: v1.59Shows overlays.
Usage
await screencast.showOverlays();
Returns
start
Added in: v1.59Starts the screencast. When path is provided, it saves video recording to the specified file. When onFrame is provided, delivers JPEG-encoded frames to the callback. Both can be used together.
Usage
// Record video
await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 } });
// ... perform actions ...
await page.screencast.stop();
// Capture frames
await page.screencast.start({
onFrame: ({ data }) => console.log(`frame size: ${data.length}`),
size: { width: 800, height: 600 },
});
// ... perform actions ...
await page.screencast.stop();
Arguments
optionsObject (optional)-
onFramefunction(Object):Promise (optional)#-
dataBufferJPEG-encoded frame data.
Callback that receives JPEG-encoded frame data.
-
-
Path where the video should be saved when the screencast is stopped. When provided, video recording is started.
-
The quality of the image, between 0-100.
-
Specifies the dimensions of screencast frames. The actual frame is scaled to preserve the page's aspect ratio and may be smaller than these bounds. If a screencast is already active (e.g. started by tracing or video recording), the existing configuration takes precedence and the frame size may exceed these bounds or this option may be ignored. If not specified the size will be equal to page viewport scaled down to fit into 800×800.
-
Returns
stop
Added in: v1.59Stops the screencast and video recording if active. If a video was being recorded, saves it to the path specified in screencast.start().
Usage
await screencast.stop();
Returns