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.

Puppeteer 23 introduces stable support for Firefox 129 and up, offering a unified API for Chrome and Firefox automation, based on WebDriver BiDi.

BrowserStack introduces WebDriver BiDi support: Enhance your Selenium Grid tests with event-driven automation.

A brief overview of Puppeteer, Chrome Headless and Chrome for Testing and other resources from the Chrome Tooling team.