awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
GoogleChrome avatar

GoogleChrome/puppeteer

0
View on GitHub↗
94,974 stars·9,453 forks·TypeScript·Apache-2.0·66 viewspptr.dev↗

Puppeteer

Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code.

The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command streams to different browser targets over a shared connection, and can inject and execute JavaScript inside isolated page contexts to query DOM state or trigger synthetic events. It also supports modern bidirectional WebDriver BiDi alongside the classic DevTools wire protocol, providing cross-browser automation with event-driven primitives.

Beyond core automation, Puppeteer covers screenshot and PDF generation with precise viewport and styling control, automated testing of site behavior and appearance in real browsers, and streaming capture of compositor frames into portable image or document formats.

The project is maintained by the Google Chrome team and is distributed as an installable TypeScript package.

Features

  • Headless Browser Automation - Runs Chrome or Firefox without a visible UI to programmatically navigate, interact with, and extract data from web pages.
  • Web Page Screenshot and PDF Tools - Captures visual renderings of web pages and exports them as images or PDF documents for testing and reporting.
  • Web Testing Frameworks - Validates site behavior, appearance, and performance in real browsers through automated scripts.
  • Cross-Protocol Browser Automation - Controls Chrome or Firefox over DevTools Protocol or WebDriver BiDi to simulate user actions without a visible UI.
  • Headless Browser Controllers - Launches and manages Chrome and Firefox instances without a visible UI for automated testing and data extraction.
  • Headless Browsers - Launches browser instances without a visible user interface to reduce resource overhead during automated operations.
  • Chrome DevTools Protocols - Communicates with browsers by sending JSON commands over WebSocket to inspect and manipulate pages, network, and runtime.
  • Cross-Browser DevTools Automations - Controls Chrome and Firefox programmatically through DevTools Protocol or WebDriver BiDi for testing and integration workflows.
  • WebDriver BiDi Implementations - Drives browser automation through a bidirectional WebSocket protocol enabling cross-browser scripting with modern event-driven primitives.
  • Cross-Protocol - Controls Chrome and Firefox programmatically to click, type, navigate, and extract data from web pages without manual interaction.
  • Headless Browser Orchestrators - Manages browser lifecycle by launching detached OS processes and controlling rendering pipelines without attaching to a display server.
  • Web-to-PDF Converters - Renders web pages and HTML content into static PDF documents or image snapshots with precise viewport control.
  • Viewport-Controlled Visual Exporters - Renders web pages to screenshots or PDF documents with precise viewport and styling control for reporting and testing.
  • Browser Session Multiplexers - Multiplexes multiple browser-target command streams over a single shared CDP/WebBiDi connection for parallel control.
  • Chromium Process Spawners - Links against Chromium embedder APIs to spawn and configure browser processes with custom flags, permissions, and sandbox policies.
  • On-Demand Web Page Screenshot Automations - Renders web pages as images on demand to check visual appearance, create reports, or document site state.
  • Compositor Frame Capture Tools - Captures rendered output by requesting compositor frames from the browser and encoding them into portable image or document formats.
  • Browser Execution Isolations - Injects and executes JavaScript inside isolated browser page contexts to query DOM state and trigger synthetic user events.
  • Web Scraping Engines - Extracts data from web pages by programmatically navigating, clicking, and reading content from Chrome and Firefox.
  • Automation Libraries - Node.js library for controlling headless browsers.
  • Browser Automation - Headless Google Chrome Node API.
  • Browser Testing Tools - Headless browser automation for testing and documentation generation.
  • Chromium Drivers - Official Node.js API for controlling headless Chrome.
  • Core Framework - Official library for browser automation and control.
  • Test Runners - Node.js API for controlling headless Chrome.
  • Testing Frameworks - Headless Chrome browser automation for testing and scraping.

Star history

Star history chart for googlechrome/puppeteerStar history chart for googlechrome/puppeteer

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does googlechrome/puppeteer do?

Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code.

What are the main features of googlechrome/puppeteer?

The main features of googlechrome/puppeteer are: Headless Browser Automation, Web Page Screenshot and PDF Tools, Web Testing Frameworks, Cross-Protocol Browser Automation, Headless Browser Controllers, Headless Browsers, Chrome DevTools Protocols, Cross-Browser DevTools Automations.

Which projects share features with googlechrome/puppeteer?

Projects with overlapping indexed features include: ariya/phantomjs — PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for… segmentio/nightmare — Nightmare is an Electron-based browser automation library and headless browser controller. It provides the… pyppeteer/pyppeteer — Pyppeteer is a Python library for controlling Chromium-based browsers using the Chrome DevTools Protocol. It functions… getgauge/taiko — Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions… go-rod/rod. chromedp/chromedp — chromedp is a browser automation framework and driver that controls web browsers via the Chrome DevTools Protocol. It…

Projects sharing features with Puppeteer

These projects share indexed features with Puppeteer. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • ariya/phantomjsariya avatar

    ariya/phantomjs

    29,489View on GitHub↗

    PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor

    C++automationheadlessheadless-browser
    View on GitHub↗29,489
  • segmentio/nightmaresegmentio avatar

    segmentio/nightmare

    19,775View on GitHub↗

    Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance. The project distinguishes itself by integrating a full Chromium instance within an Electron shell, allowing for the management of browser sessions, network proxy settings, and persistent storage partitions. It enables the capture of page states as PNG screenshots, PDF documents, or HTML files. The tool covers a broad range of capabilities includ

    JavaScript
    View on GitHub↗19,775
  • pyppeteer/pyppeteerpyppeteer avatar

    pyppeteer/pyppeteer

    3,948View on GitHub↗

    Pyppeteer is a Python library for controlling Chromium-based browsers using the Chrome DevTools Protocol. It functions as a headless browser automation tool, allowing for the programmatic navigation of web pages and the extraction of data from dynamic websites. The project provides low-level browser control through direct communication with the Chrome DevTools Protocol, enabling the interception and modification of network traffic. It differentiates itself by offering specialized performance profiling capabilities, including the measurement of JavaScript and CSS code coverage and the capture

    Python
    View on GitHub↗3,948
  • getgauge/taikogetgauge avatar

    getgauge/taiko

    3,663View on GitHub↗

    Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions and verify application behavior. It functions as a headless browser testing tool capable of simulating real interactions and asserting page states in Chromium and Firefox. The project includes a browser interaction recorder that captures live actions and exports them as executable JavaScript automation scripts. It also serves as a web accessibility auditor, analyzing pages to detect accessibility violations and ensure compliance with inclusive design standards. The framework c

    JavaScriptautomationheadlessheadless-browsers
    View on GitHub↗3,663
Compare all 30 related projects→