Awesome Puppeteer
A curated list of awesome puppeteer resources for controlling headless Chrome (or Chromium) over the DevTools Protocol.
Contents
Official
- Website - Official Website.
- Homepage - Official homepage.
- GitHub - Official GitHub repository.
- API - Official API docs.
- Playground - Hosted playground where you can experiment with Puppeteer.
- FAQ - Official FAQ.
- DevTools Protocol - Chrome DevTools Protocol API Docs.
Packages
- puppeteer-lottie - Renders Lottie animations via Puppeteer to image, GIF or MP4.
- puppeteer-lottie-cli - CLI for this puppeteer-lottie.
- puppeteer-email - Email automation driven by headless chrome.
- puppeteer-email-cli - CLI for email automation driven by headless chrome.
- puppeteer-instagram - Instagram automation driven by headless chrome.
- puppeteer-instagram-cli - CLI for Instagram automation driven by headless chrome.
- puppeteer-github - GitHub automation driven by headless chrome.
- puppeteer-github-cli - CLI for GitHub automation driven by headless chrome.
- headless-devtools - Puppeteer plugin to get CSS Coverage or JS Heap snapshot.
- puppeteer-social-image - Render social share images using HTML + CSS.
- docker-puppeteer - Docker image with puppeteer installed.
- puppeteer-explore - Utility library for puppeteer.
- differencify - Library for visual regression testing.
- puppeteer-extra - Wrapper to use stealth mode, custom user prefs, etc.
- puppeteer-render-text - Robust text renderer using headless chrome.
- puppeteer-recorder - Chrome extension that records your browser interactions and generates a Puppeteer script.
🔥 - minimalcss - Extracts the minimal / critical CSS used in a set of URLs.
- puppeteer-cluster - Cluster management for puppeteer.
- chrome-aws-lambda - Chromium binary compatible with AWS Lambda (kept up to date with puppeteer).
- capture-website - Capture screenshots of websites.
- capture-website-cli - CLI to capture screenshots of websites.
- facebook-birthday-cli - Command Line Interface to list and wish your facebook friends.
- timecut - Record smooth movies of web pages with JavaScript animations.
- timesnap - Take screenshots of web pages at smooth intervals.
- pwa-asset-generator - CLI to generate multi-platform PWA icons, splash screens and meta code based on web standards.
- @cliqz/adblocker-puppeteer - Efficient and flexible adblocker library to easily block ads and trackers.
- browserless – A puppeteer-like Node.js library for interacting with Headless production scenarios.
- puppet-canvas - HTML5 Canvas implementation for Node.JS backed by Puppeteer.
Rendering and web scraping
- headless-chrome-crawler - Distributed crawler powered by Headless Chrome.
- decktape - PDF exporter for HTML presentation frameworks.
- Puppetron - Demo site that shows how to use Puppeteer and Headless Chrome to render pages. Inspired by GoogleChrome/rendertron.
- puppeteer-renderer - Generic web page renderer.
- ReedD/crawler - BFS site crawler.
- pupperender - Express middleware that renders PWAs for bots using puppeteer.
- prerenderer - Framework-agnostic prerendering for sites and SPAs.
- Apify SDK - Scalable web crawling and scraping library.
🕷️ - webgif - Easily generate animated GIFs from websites.
- whatspup - WhatsApp chat from commandline/console/cli.
- Wbot - Configurable Whatsapp auto reply bot.
- BrowserGap - Remote browser webview powered by Headless Chrome.
Testing
- jest-puppeteer - Run your tests using Jest & Puppeteer.
- mocha-headless-chrome - Run client-side mocha tests in the command line through Puppeteer.
- angular-puppeteer-demo - Demos how to use Puppeteer in Karma.
- expect-puppeteer - Assertion library for Puppeteer.
- storybook-chrome-screenshot - Storybook addon to save screenshots of your stories via puppeteer.
- e2e - End-to-end testing.
- rize - High-level, fluent and chainable API provided library for puppeteer.
- mochify - TDD with Browserify, Mocha, Headless Chrome and WebDriver.
- tupe - A generic unit-testing runner for front-end.
- puppetry - Scriptless E2E test automation tool.
- wendigo - Puppeteer wrapper to ease test development.
Services
- Puppeteer Sandbox - Puppeteer sandbox environment as a service. Runs Puppeteer scripts and allows saving and embedding them in external sites and markdown files.
- checkly - Monitoring SaaS that uses Puppeteer to check availability and correctness of web pages and apps.
- url-to-pdf-api - Web page PDF rendering done right. Self-hosted service for rendering.
- browserless - Headless Chrome as a service letting you execute Puppeteer scripts remotely.
- FusionExport - Export dashboards or charts to PDF or images. Looks mature.
- ProxyCrawl - Headless Chrome as a service.
- microlink.io – Turns any site into data.
- HeadlessTesting – Headless Chrome testing with Puppeteer in the Cloud.
- FloodRunner - Open-source monitoring solution using puppeteer tests
Examples
- Official examples - Quality examples as part of the official puppeteer repo.
- Official use case-driven examples - More complex, high quality, use case-driven examples.
- puppeteer-examples - Quality examples for real life use cases such as scraping web pages and common login scenarios.
- puppeteer-samples - Misc examples.
- daily-signin - Signin and control various chinese sites.
- linkedin-autoaccept - Auto-accept invitations on linkedin.
- instagram-get-images - Instagram image scraper.
- puppeteer-deep - Demos on crawling, UI automation, trace API and so on.
- html_to_pdf - Generate a simple invoice PDF from HTML.
Articles
- Headless Chrome: an answer to server-side rendering JS sites - By a member of the Google headless chrome team.
- Getting started with Puppeteer and Chrome Headless for Web Scraping - Excellent article detailing how to automate GitHub login and scraping.
- A Guide to Automating & Scraping the Web with JavaScript (Chrome + Puppeteer + Node JS) - Excellent, thorough article.
- Chromeless, Chrominator, Chromy, Navalia, Lambdium, GhostJS, AutoGCD - Alternative Headless Chrome Projects.
- What's the difference between Chromium and Chrome?
- NodeJs Scraping with Puppeteer - IMDB Scraping example.
Guides
- theheadless.dev - Practical guides and runnable examples on Puppeteer (and Playwright).
Related
- puppeteer-sharp - Port of Puppeteer to .NET.
- foxr - Node.js API to control Firefox.
🦊 - pyppeteer - Unofficial Python port of Puppeteer.
- capybara-chrome – Unofficial Ruby port of Puppeteer.
Contribute
Contributions welcome! Please read the contributing guideline first.
License
To the extent possible under law, Travis Fischer has waived all copyright and related or neighboring rights to this work.
Support my OSS work by following me on twitter