JSPM

puppeteer

22.9.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4639305
  • Score
    100M100P100Q187105F
  • License Apache-2.0

A high-level API to control headless Chrome over the DevTools Protocol

Package Exports

  • puppeteer
  • puppeteer/internal/getConfiguration.d.ts
  • puppeteer/internal/getConfiguration.d.ts.map
  • puppeteer/internal/getConfiguration.js
  • puppeteer/internal/getConfiguration.js.map
  • puppeteer/internal/node/cli.d.ts
  • puppeteer/internal/node/cli.d.ts.map
  • puppeteer/internal/node/cli.js
  • puppeteer/internal/node/cli.js.map
  • puppeteer/internal/node/install.d.ts
  • puppeteer/internal/node/install.d.ts.map
  • puppeteer/internal/node/install.js
  • puppeteer/internal/node/install.js.map
  • puppeteer/internal/puppeteer.d.ts
  • puppeteer/internal/puppeteer.d.ts.map
  • puppeteer/internal/puppeteer.js
  • puppeteer/internal/puppeteer.js.map

Readme

Puppeteer

build npm puppeteer package

Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Puppeteer runs in headless mode by default, but can be configured to run in full ("headful") Chrome/Chromium.

Get started | API | FAQ | Contributing | Troubleshooting

Example

import puppeteer from 'puppeteer';

(async () => {
  // 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.type('.devsite-search-field', 'automate beyond recorder');

  // Wait and click on first result
  const searchResultSelector = '.devsite-result-item-link';
  await page.waitForSelector(searchResultSelector);
  await page.click(searchResultSelector);

  // Locate the full title with a unique string
  const textSelector = await page.waitForSelector(
    'text/Customize and automate'
  );
  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();
})();