Overview of Puppeteer

Puppeteer is a Node library which provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome or Chromium.

The Chrome DevTools team maintains the library, but we'd love your help and expertise on the project. See Contributing.

What can I do?

Most actions you can take manually in the browser can be done with Puppeteer. Here are a few examples to get you started:

  • Generate screenshots and PDFs of pages.
  • Crawl a SPA (Single-Page Application) and generate pre-rendered content (SSR or server-side rendering).
  • Automate actions such as form submission, UI testing, keyboard input.
  • Create an up-to-date, automated testing environment. Run your tests directly in the latest version of Chrome using the latest JavaScript and browser features.
  • Capture a timeline trace of your site to help diagnose performance issues.
  • Test Chrome Extensions.

Next steps