CÓMO HACER CAPTURA DE PANTALLA DE UNA WEB CON NODEJS
Hacer una captura de pantalla con NodeJS se puede hacer de varias maneras y con varios módulos de npm. En este post voy a explicar cómo hacer captura de pantalla de una web con NodeJS con Puppeteer. Puppeteer es un módulo mantenido por el equipo de Chrome y funciona perfectamente en modo sin cabeceras.Lo primero es instalara el módulo Puppeteer:
npm install puppeteer
const puppeteer = require('puppeteer');
(async () => {
// Lanzar navegador headless
const browser = await puppeteer.launch({
headless: true, // o "new" en versiones recientes
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
// Opcional: configurar tamaño de viewport
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://www.example.com', {
waitUntil: 'networkidle2', // espera a que no haya más de 2 peticiones en 500ms
timeout: 30000
});
// Captura completa de la página (scroll automático)
await page.screenshot({
path: 'captura-completa.png',
fullPage: true, // importante para páginas largas
type: 'png', // o 'jpeg' si quieres más compresión
quality: 100 // solo para jpeg
});
// También puedes capturar solo un elemento específico
// const elemento = await page.$('#mi-div');
// await elemento.screenshot({ path: 'solo-div.png' });
await browser.close();
console.log('Captura guardada como captura-completa.png');
})();