Skip to main content
Version: 23.5.0

Examples & Use cases

Official examples

The Puppeteer repository includes a small number of examples maintained by the Puppeteer team.

Follow the instructions in the README to run the examples, covering use cases like creating PDFs from websites, creating screenshots or intercepting requests.

Example suite

Find a set of unstructured examples in Puppeteer's dedicated example repository.

This suite is a collection of examples that has been growing over time and covers various use cases like forwarding events from your Puppeteer process to the browser, interacting with elements and running CDP commands.

Other projects, articles and demos

See the following list for use cases and examples from categories like Rendering, Web scraping and Testing.

Rendering and web scraping

  • Puppetron: Demo site that shows how to use Puppeteer and Headless Chrome to render pages. Inspired by GoogleChrome/rendertron.
  • Thal: Get started with Puppeteer and Chrome Headless for Web Scraping.
  • pupperender: Express middleware that checks the User-Agent header of incoming requests, and if it matches one of a configurable set of bots, render the page using Puppeteer. Useful for PWA rendering.
  • headless-chrome-crawler: Crawler that provides APIs to manipulate Headless Chrome and lets you crawl dynamic websites.
  • Puppeteer examples from Checkly: E2E Puppeteer examples for real life use cases, such as getting useful info from the web pages or common login scenarios.
  • browserless: Headless Chrome as a service letting you execute Puppeteer scripts remotely.
  • Puppeteer on AWS Lambda: Run puppeteer on AWS Lambda with Serverless framework
  • Apify SDK: The scalable web crawling and scraping library for JavaScript. Automatically manages a pool of Puppeteer browsers and provides error handling, task management, proxy rotation and more.

Testing

  • angular-puppeteer-demo: Demo repository explaining how to use Puppeteer in Karma.
  • mocha-headless-chrome: Tool which runs client-side mocha tests in the command line through headless Chrome.
  • puppeteer-to-istanbul-example: Demo repository demonstrating how to output Puppeteer coverage in Istanbul format.
  • jest-puppeteer: (almost) Zero configuration tool for setting up and running Jest and Puppeteer. Also includes an assertion library for Puppeteer.
  • puppeteer-har: Generate HAR file with puppeteer.
  • puppetry: A desktop app to build Puppeteer and Jest driven tests without coding.
  • puppeteer-loadtest: command line interface for performing load test on Puppeteer scripts.
  • cucumber-puppeteer-example: Example repository demonstrating how to use Puppeeteer and Cucumber for integration testing.