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
- Install Puppeteer and get started!
- Look over the examples.