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
puppeteer avatar

puppeteer/puppeteer

0
View on GitHub↗
94,811 stars·9,445 forks·TypeScript·Apache-2.0·91 viewspptr.dev↗

Puppeteer

Puppeteer is a browser automation library that provides a programmatic interface for controlling web browsers to execute tasks, simulate user interactions, and perform end-to-end testing. It functions as a headless browser controller, managing browser lifecycles, isolated session contexts, and remote connections to facilitate stable, automated web-based workflows.

The library distinguishes itself through its deep integration with the Chrome DevTools Protocol, utilizing a bidirectional message bus to execute commands and receive real-time event notifications. It supports advanced automation patterns, including the registration and execution of custom tools within the browser environment and the ability to simulate diverse device characteristics and network conditions. By maintaining isolated browser contexts, it prevents data leakage between concurrent tasks, ensuring predictable environments for complex testing scenarios.

Beyond core automation, the project serves as a comprehensive instrumentation and diagnostic suite. It enables developers to capture performance traces, inspect accessibility trees for compliance auditing, and generate high-fidelity visual artifacts such as screenshots and PDFs. Additionally, it functions as a server-side rendering engine, capable of crawling dynamic single-page applications to produce pre-rendered static content for improved search engine indexing.

Features

  • Server-Side Rendering Engines - Renders dynamic web applications in controlled environments to generate static content for improved search indexing.
  • Automated End-to-End Testing - Validates complex user flows and interface interactions across various browser environments to ensure application stability.
  • Headless Browser Controllers - Manages browser lifecycles, isolated execution contexts, and remote connections to support scalable automated workflows.
  • Chrome DevTools Protocols - Utilizes a JSON-RPC message bus to establish bidirectional communication for deep inspection and control of browser behavior.
  • WebDriver BiDi Implementations - Integrates standardized cross-browser protocols to execute automated commands across diverse web environments.
  • Browser Lifecycle Managers - Orchestrates browser process startup, shutdown, and connection states to maintain session consistency during automated tasks.
  • Web Scraping and Automation - Facilitates programmatic control over web browsers to extract data and execute complex sequences of user interactions.
  • Remote Debugging Sockets - Exposes network-accessible sockets that allow external tools to attach to and manipulate remote browser instances.
  • Browser Context Managers - Maintains isolated browser instances to ensure separate security contexts and prevent data leakage during automated operations.
  • Isolated Browser Contexts - Creates independent storage and session partitions within a single browser process to isolate task data.
  • User Behavior Simulators - Simulates realistic keyboard, mouse, and form interactions to mimic genuine user behavior within a browser.
  • Tool Registries - Registers browser capabilities imperatively to allow external tools to discover and invoke automation functions.
  • External Command Executors - Triggers browser-based tasks and processes their execution outputs directly from an application interface.
  • Event Dispatchers - Routes browser-level events to registered listeners, enabling real-time monitoring of page interactions and internal state changes.
  • Visual Regression Testing - Captures high-fidelity visual snapshots of web components to detect unintended interface changes and maintain design consistency.
  • Cross-Device Testing Tools - Emulates diverse hardware, screen resolutions, and network conditions to verify web application behavior across different devices.
  • Web Page Instrumentation Tools - Extracts performance metrics, accessibility trees, and visual artifacts like screenshots or PDFs from rendered web pages.
  • Rendering and Templating - Converts dynamic single-page applications into pre-rendered static content to enhance search engine visibility and load performance.
  • Remote Browser Connections - Initializes and manages connections to remote browser instances to enable distributed automation tasks.
  • Automation & RPA - Headless Chrome API.
  • Browser Automation - JavaScript API for browser control.
  • Testing Frameworks - Headless Chrome browser automation.
  • JavaScript 框架汇总 - Listed in the “JavaScript 项目” section of the Great Open Source Project awesome list.
  • Process Lifecycle Managers - Spawns and manages dedicated host processes to ensure stable and predictable browser environments for automation.
  • Device and Network Emulators - Adjust hardware profiles and network conditions to test application behavior across varied connectivity and device scenarios.
  • Headless Rendering Pipelines - Intercept internal paint cycles and rendering buffers to generate static media outputs from headless browser sessions.
  • Performance Tracers - Document performance timelines to pinpoint rendering bottlenecks and improve site responsiveness through detailed diagnostic data.
  • Runtime Configuration Managers - Configure runtime settings and experimental feature flags to tailor browser environments for specific automation requirements.
  • Page Media Exports - Produce high-fidelity screenshots and PDF documents from rendered web content for automated reporting or visual regression testing.
  • SEO Rendering Services - Generate static snapshots of dynamic single-page applications to ensure search engine crawlers can index content accurately.

Star history

Star history chart for puppeteer/puppeteerStar history chart for puppeteer/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 puppeteer/puppeteer do?

Puppeteer is a browser automation library that provides a programmatic interface for controlling web browsers to execute tasks, simulate user interactions, and perform end-to-end testing. It functions as a headless browser controller, managing browser lifecycles, isolated session contexts, and remote connections to facilitate stable, automated web-based workflows.

What are the main features of puppeteer/puppeteer?

The main features of puppeteer/puppeteer are: Server-Side Rendering Engines, Automated End-to-End Testing, Headless Browser Controllers, Chrome DevTools Protocols, WebDriver BiDi Implementations, Browser Lifecycle Managers, Web Scraping and Automation, Remote Debugging Sockets.

Which projects share features with puppeteer/puppeteer?

Projects with overlapping indexed features include: microsoft/playwright — Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow… chromedp/chromedp — chromedp is a browser automation framework and driver that controls web browsers via the Chrome DevTools Protocol. It… browser-use/browser-use — Browser-use is a framework for building autonomous agents that navigate, interact with, and extract data from web… googlechrome/puppeteer — Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools… getgauge/taiko — Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions… ariya/phantomjs — PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for…

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.
  • microsoft/playwrightmicrosoft avatar

    microsoft/playwright

    91,074View on GitHub↗

    Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test

    TypeScriptautomationchromechromium
    View on GitHub↗91,074
  • chromedp/chromedpchromedp avatar

    chromedp/chromedp

    13,137View on GitHub↗

    chromedp is a browser automation framework and driver that controls web browsers via the Chrome DevTools Protocol. It functions as a headless browser automation tool and web browser controller, enabling the programmatic management of browser sessions, targets, and network responses through a remote debugging interface. The project provides specialized capabilities for Chrome DevTools Protocol automation, including headless browser testing, web scraping and data extraction, and mobile device emulation. It also supports browser-based visual regression by capturing precise screenshots of web pag

    Go
    View on GitHub↗13,137
  • browser-use/browser-usebrowser-use avatar

    browser-use/browser-use

    100,229View on GitHub↗

    Browser-use is a framework for building autonomous agents that navigate, interact with, and extract data from web interfaces using natural language instructions. By acting as an orchestration layer between large language models and browser automation protocols, it enables the execution of complex, multi-step workflows without relying on brittle selectors. The system functions as a headless browser controller, providing a programmatic interface to manage browser instances and execute granular interactions. The project distinguishes itself through its ability to translate high-level intent into

    Pythonai-agentsai-toolsbrowser-automation
    View on GitHub↗100,229
  • googlechrome/puppeteerGoogleChrome avatar

    GoogleChrome/puppeteer

    94,974View on GitHub↗

    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 stre

    TypeScript
    View on GitHub↗94,974
Compare all 30 related projects→