Search for a command to run...
Node.js library that exposes a high-level API to control Chrome or Firefox over the Chrome DevTools Protocol and WebDriver BiDi. Runs headless by default for scripts and CI while still supporting full browser display for debugging. Enables automation of navigation, form filling, screenshots, and PDF generation from a single JavaScript or TypeScript codebase.
Maintained by the Chrome team at Google. Puppeteer differentiates with direct access to the DevTools Protocol for low-level control when the high-level API is insufficient, via CDPSession for raw protocol methods and events. From version 23 onward it supports Firefox through WebDriver BiDi alongside Chrome, broadening cross-browser coverage within the same API.
Key capabilities:
Engineers use Puppeteer for end-to-end testing, web scraping, generating PDFs from HTML, visual regression checks, and automating repetitive browser tasks. Fits into test runners like Jest and Mocha and CI systems via headless execution. The chrome-devtools-mcp server extends Puppeteer for MCP-based browser automation and debugging workflows.