Skip to content

puppeteer

94,086 30 301 Apache-2.0
24.40.0 (19 Mar 2026) Mar 23 2013 37.6 million (month)

Puppeteer is a Node.js library that provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It allows you to automate browser tasks such as generating screenshots, creating PDFs, and testing web pages by simulating user interactions.

Puppeteer is commonly used for web scraping, end-to-end testing, and browser automation.

Puppeteer is one of the most popular browser automation toolkits though it's only available in NodeJS. It offers asynchronous API which enables easy asynchronous scaling.

Example Use


```javascript const puppeteer = require('puppeteer');

(async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); // go to pages await page.goto('https://www.example.com'); // take a screenshot await page.screenshot({path: 'example.png'}); // fill in the form await page.type('input[name="name"]', 'John Doe'); await page.type('input[name="email"]', 'johndoe@example.com'); await page.select('select[name="country"]', 'US');

// submit the form
await page.click('button[type="submit"]');

// wait for the page to load after the form is submitted
await page.waitForNavigation();

// take a screenshot
await page.screenshot({path: 'form-submission.png'});

await browser.close();

})(); ```

Alternatives / Similar


94,086 2.11.2 (2023-04-11 04:13:00 ago) May 29 2018 compare
7,293 3.3.6 (2023-03-01 12:19:02 ago) May 15 2018 compare
217 1.0.0-beta8.4 (2023-06-29 12:37:12 ago) Apr 18 2019 compare

Other Languages

Was this page helpful?