Estudio de Puppeteer

Web Scraping ⭐ 83k stars
Controla Chrome/Chromium vía DevTools Protocol: PDFs, screenshots, pruebas y automatización.

🤖 Skill de implementación: frontend-desarrollo (regla: solo catálogo de las 66 · versiones por ERR/MEJ)

1 · Características

2 · Casos de uso

3 · Script minimalista

Instalación: npm i puppeteer

import puppeteer from 'puppeteer';
const b = await puppeteer.launch();
const p = await b.newPage();
await p.goto('https://example.com');
await p.screenshot({ path: 'x.png' });
await b.close();

4 · Casos de uso (implementación real)

Dos casos de uso comunes implementados con esta librería.

1. Captura de pantalla

Abre una web y guarda un screenshot.

import puppeteer from 'puppeteer';

const b = await puppeteer.launch();
const p = await b.newPage();
await p.setViewport({ width: 1280, height: 800 });
await p.goto('https://example.com', { waitUntil: 'networkidle2' });
await p.screenshot({ path: 'captura.png', fullPage: true });
await b.close();
🔁 Cómo funciona: Controla Chrome real: navega, espera a que la red quede inactiva y guarda la imagen.

2. Extraer datos (scraping)

Obtiene los títulos de los resultados de una página.

import puppeteer from 'puppeteer';

const b = await puppeteer.launch();
const p = await b.newPage();
await p.goto('https://example.com');
const titulos = await p.$$eval('h2', (els) => els.map((e) => e.textContent));
console.log(titulos);
await b.close();
🔁 Cómo funciona: `$$eval` ejecuta JS dentro de la página y devuelve el resultado al script Node.

5 · Referencia

CategoríaWeb Scraping
Stars (GitHub)⭐ 83k
Sitio oficialhttps://pptr.dev/
GitHubhttps://github.com/puppeteer/puppeteer
Instalaciónnpm i puppeteer
RelacionadasSelenium · WebDriverIO · Nightwatch.js
📦 Regla de librerías (local primero): revisar C:\Users\TUF\Documents\librerías\local\ antes de descargar. Volver al índice de los 66 estudios.