puppeteerDeveloper tools

puppeteer

A JavaScript library that provides a high-level API to control Chrome or Firefox over DevTools Protocol or WebDriver BiDi.

  • Frontend
  • QA / Testing
  • Backend
  • Full stack
  • Automation
  • Testing
  • Library/framework
  • CLI
  • Windows
  • macOS
  • Linux
  • Runs locally
  • Docker supported
puppeteer screenshot
Popularity
95.6k Stars
GitHub stars
Recent activity
10/1/2026
Updated in the last 30 days
License
APACHE-2.0
Permissive

Why it matters

We look beyond stars: what problem it solves, whether it creates real utility, and what makes its approach worth noticing.

Last 90 days

Problem

Addresses the complexity of browser automation, web scraping, and user interaction simulation by providing a unified control interface.

Practical value

As an industry-standard tool, its mature API design is widely used in automated testing, performance monitoring, and data collection.

Innovation / differentiation

Achieves deep control over browser behavior by interfacing directly with the DevTools Protocol and WebDriver BiDi.

Leverage potential

Significantly lowers the barrier to writing browser automation scripts and serves as a core dependency for building various web interaction tools.

Why now

With the ongoing growth of automated testing and data collection needs in modern web development, this tool remains a mainstream choice.

Community activity

In the last 90 days there were 32 new issues and 269 pull requests; the bounded issue/PR samples include 25 issue authors and 22 PR contributors, with at least 23 releases.

Maintainer responsiveness

The 31-issue window sample had a 77% close rate, and the 100-pull-request sample had a 77% merge rate. Maintainer-response observations covered 45% of that issue sample, with a 14% response rate and median first response of 0.1 hours.

22 contributors in PR sampleAt least 23 releasesIssue response rate 14% · sample 14 (45% coverage)Median first response 0.1hPR merge rate 77% · 100 sampled in window

Key highlights

  • Programmatically control Chrome and Firefox in headless or headful mode
  • Interact over DevTools Protocol or WebDriver BiDi
  • Provide puppeteer-core for using existing local browser installations

Quick start

How it is installed, how hard it is, and where to start.

Where it runs

Runs locally

Difficulty

Easy — follow the steps

Docker supportedRuns locally
  1. 01Install the puppeteer package via npm (downloads a compatible Chrome binary during setup): npm i puppeteer
  2. 02If install scripts are blocked by your package manager, download required browsers manually: npx puppeteer browsers install
  3. 03Import puppeteer in your Node.js script, launch a browser instance, and open a new page
  4. 04Use goto() to navigate to URLs and locator() to target DOM elements for click or fill actions
  5. 05Call browser.close() after execution to gracefully terminate the browser process

Best for

  • Developers who want to try it on their machine
  • People who prefer Docker deploys

More about it

Puppeteer is a JavaScript library providing a high-level API to automate Chrome and Firefox over the DevTools Protocol or WebDriver BiDi. By default, it runs in headless mode without a visible GUI, making it straightforward to run in server and CI environments.

With Puppeteer, developers can control page navigation, set viewports, fill forms via accessible input selectors, handle keyboard and click events, and evaluate DOM properties. In addition to the standard package that fetches browser binaries during setup, puppeteer-core is available when automatic browser downloading is not needed.

Sources

Each field shows its status and source — expand to review.

12 · Expand
  • capability tags

    Verified

    automation, testing

    Source: admin_cms · cms editor · 8/17/2026

  • Latest release

    Verified

    browsers-v3.2.3

    Source: GitHub API · latest_release=browsers-v3.2.3 · 10/1/2026

  • License

    Verified

    Apache-2.0

    Source: GitHub API · license.spdx_id=Apache-2.0 · 10/1/2026

  • needs api key

    Verified

    No

    Source: admin_cms · cms editor · 8/14/2026

  • One-liner

    Verified

    {"en":"A JavaScript library that provides a high-level API to control Chrome or Firefox over DevTools Protocol or WebDriver BiDi.","zh":"基于 DevTools Protocol 或 WebDriver BiDi 控制 Chrome 和 Firefox 的 JavaScript 自动化 Node.js 库。"}

    Source: admin_cms · cms editor · 8/14/2026

  • Platforms

    Verified

    windows, macos, linux

    Source: admin_cms · cms editor · 8/14/2026

  • Category hint

    Inferred from materials

    automation

    Source: Project README · hint=automation · 8/14/2026

  • product forms

    Verified

    library_framework, cli

    Source: admin_cms · cms editor · 8/17/2026

  • role tags

    Verified

    frontend, qa, backend, fullstack

    Source: admin_cms · cms editor · 8/17/2026

  • supports docker

    Verified

    Yes

    Source: Repository file · dockerfile=true; compose=false · 10/1/2026

  • supports local

    Verified

    Yes

    Source: admin_cms · cms editor · 8/14/2026

  • supports self host

    Verified

    No

    Source: admin_cms · cms editor · 8/14/2026

Other verified projects matched by category, capabilities, and intended roles.