@FakeMaidenMaker: Puppeteer can make the program open a browser by itself, click the mouse, type text, and grab page content like a human. No need to watch it work. GitHub has 95k stars, it's an absolute benchmark project in browser automation. GitHub: https://github.com/puppe…
Summary
Puppeteer is a popular browser automation JavaScript library that supports controlling Chrome and Firefox. It can be used for web scraping, automated testing, and other scenarios. Recently it has integrated the MCP protocol to support AI agents directly controlling the browser.
View Cached Full Text
Cached at: 06/22/26, 05:50 PM
Puppeteer lets programs open a browser on their own, clicking buttons, typing text, and scraping page content just like a human—so you don’t have to watch it work. With 95k stars on GitHub, it’s the undisputed benchmark project in browser automation. GitHub: https://github.com/puppeteer/puppeteer… In the past, manually logging into a website every day to scrape data, fill forms, or test a web feature required endless repetitive clicking. Screen‑recording macros were fragile and broke whenever the page changed. After switching to Puppeteer, a few lines of code can control Chrome or Firefox—simulate clicking the search box, entering keywords, clicking results, and grabbing page text. The whole process runs headless by default and can be left to finish in the background without human supervision. Even more interesting, it has MCP: the Chrome DevTools MCP server built by Puppeteer allows AI agents to control and debug the browser directly via the MCP protocol. That means it’s no longer just programmers writing automation scripts—AI agents can also use Puppeteer as their hands to interact with web pages.
puppeteer/puppeteer
Source: https://github.com/puppeteer/puppeteer
Puppeteer
Puppeteer is a JavaScript library that provides a high-level API to control Chrome or Firefox over the DevTools Protocol or WebDriver BiDi. By default, Puppeteer runs in headless (no visible UI) mode.
Get started | API | FAQ | Contributing | Troubleshooting
Installation
npm2yarn npm i puppeteer
# Downloads a compatible version of Chrome during installation.
npm i puppeteer-core
# Alternatively, install as a library, without downloading Chrome.
:::note Modern package managers (including npm (see the RFC), pnpm, Yarn, Bun, and Deno) block dependency install scripts by default. If the install script is blocked, Puppeteer will not download the browser during installation, causing runtime errors. You can manually download the required browsers after installation by running:
npm2yarn npx puppeteer browsers install
Alternatively, you can configure your package manager to allow the install script to run (for example, with npm, by adding "puppeteer" to "allowScripts" in your package.json).
:::
MCP
Install chrome-devtools-mcp, a Puppeteer-based MCP server for browser automation and debugging. Puppeteer also supports the experimental WebMCP API.
Example
import puppeteer from 'puppeteer';
// Or import puppeteer from 'puppeteer-core';
// Launch the browser and open a new blank page.
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Navigate the page to a URL.
await page.goto('https://developer.chrome.com/');
// Set the screen size.
await page.setViewport({width: 1080, height: 1024});
// Open the search menu using the keyboard.
await page.keyboard.press('/');
// Type into search box using accessible input name.
await page.locator('::-p-aria(Search)').fill('automate beyond recorder');
// Wait and click on first result.
await page.locator('.devsite-result-item-link').click();
// Locate the full title with a unique string.
const textSelector = await page
.locator('::-p-text(Customize and automate)')
.waitHandle();
const fullTitle = await textSelector?.evaluate(el => el.textContent);
// Print the full title.
console.log('The title of this blog post is "%s".', fullTitle);
await browser.close();
Similar Articles
@GitHub_Daily: AI agents automating browser operations or scraping data often get blocked by anti-scraping mechanisms, and get stuck when encountering captchas or human verification. Recently, the BrowserAct team open-sourced a Skill, a browser automation command-line tool designed specifically for AI agents. It provides three layers of anti-blocking mechanisms, from…
The BrowserAct team open-sourced a browser automation command-line tool designed specifically for AI agents, providing three layers of anti-blocking mechanisms (fingerprint spoofing, captcha cracking, human takeover), supports multi-browser parallelism and account isolation, and optimizes output format to save tokens.
puppeteer/puppeteer
Puppeteer is a JavaScript library that provides a high-level API to control Chrome/Chromium over the DevTools Protocol, commonly used for browser automation, web scraping, and testing.
@GoJun315: A 16-year-old developer open-sourced a headless browser engine designed for crawlers and AI Agent automation. The project is named Obscura, built with Rust, and has already amassed over 14,600 GitHub stars. Compared to headless Chrome, it has obvious advantages: …
A 16-year-old developer open-sourced the Rust-based headless browser engine Obscura, designed for crawlers and AI Agent automation, with memory usage of only 30MB, and has already garnered over 14,600 GitHub stars.
@quant_sheep: I had an Agent use Chrome to find and book an Airbnb for me. It even proactively asked the host: 'Do you have a kitchen?' If you need your Agent to operate a browser like a human — whether for testing web pages or automatically booking Airbnb stays — any web-based operation can be done...
Showcases an open-source tool called open-browser-use that enables an AI Agent to operate Chrome browser like a human, completing the full process of finding and booking accommodation on Airbnb, including proactively asking the host.
@geekbb: A terminal TUI tool written in Rust by the Browser-use team. You tell it what to do in natural language, and it controls the browser to accomplish it. Self-developed LLM engine plus Chrome's CDP protocol, supports running with your logged-in Chrome, headless browser, or Browser ...
The Browser-use team has launched a terminal TUI tool written in Rust, allowing users to control the browser through natural language. It supports running with a logged-in Chrome, a headless browser, or Browser Use cloud.