Skip to content

puppeteer/puppeteer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

00e202d · Mar 13, 2025
Feb 23, 2024
Mar 10, 2025
Dec 19, 2024
Mar 3, 2025
Mar 12, 2025
Feb 21, 2025
Mar 13, 2025
Oct 23, 2024
Mar 12, 2025
Feb 24, 2025
Mar 12, 2025
Aug 3, 2017
Apr 22, 2019
Jan 8, 2024
Oct 22, 2024
Feb 22, 2024
Nov 29, 2024
Jan 8, 2024
Oct 22, 2024
Mar 6, 2025
Mar 6, 2025
Jan 10, 2025
Aug 10, 2020
Aug 7, 2024
Jan 19, 2023
Feb 6, 2025
Jan 24, 2025
Mar 6, 2025
Feb 24, 2025
Aug 5, 2024
Feb 10, 2025
Oct 22, 2024
Jan 3, 2024
Mar 12, 2025

Repository files navigation

Puppeteer

build npm puppeteer package

Puppeteer is a JavaScript library which provides a high-level API to control Chrome or Firefox over the DevTools Protocol or WebDriver BiDi. Puppeteer runs in the headless (no visible UI) by default

Installation

npm i puppeteer # Downloads compatible Chrome during installation.
npm i puppeteer-core # Alternatively, install as a library, without downloading Chrome.

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 screen size.
await page.setViewport({width: 1080, height: 1024});

// Type into search box.
await page.locator('.devsite-search-field').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('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();