Puppeteer is a JavaScript library which provides a high-level API to automate both Chrome and Firefox over the Chrome DevTools Protocol and WebDriver BiDi.

Use it to automate anything in the browser, from taking screenshots and generating PDFs to navigating through and testing complex UIs and analysing performance.

Concepts

Query DOM elements, click buttons, type text, and more.
Intercept and modify network requests and responses.
Get visual snapshots of full pages or specific elements.
Learn about headless, headful and shell modes and when to use them.

Blog posts

Read the most recent blog posts touching on Puppeteer, Chrome For Testing and WebDriver BiDi.

Chrome 134 is rolling out now! It includes light-dismiss functionality for dialogs, and plenty more to discover.

Customizable select, dialog light dismiss, and more.

Improve machine-learning workloads with subgroups, shader compilation time improvements on D3D12, remove float filterable texture types support as blendable, and more.