Playwright para JavaScript (Node.js): guía completa con ejemplos
Playwright es una biblioteca moderna de código abierto para la automatización de navegadores, desarrollada por Microsoft. Proporciona una API unificada para controlar Chromium, Firefox y WebKit (el motor de Safari) a través del protocolo DevTools. A diferencia de Selenium, Playwright fue diseñado desde el principio para trabajar con aplicaciones web modernas y admite escenarios como la interceptación de solicitudes de red, la emulación de dispositivos móviles, el trabajo con múltiples páginas y pestañas, así como la espera automática de elementos.
El propósito principal de Playwright son las pruebas end-to-end (E2E) de aplicaciones web. Sin embargo, sus capacidades van mucho más allá de las pruebas: la biblioteca se utiliza para el scraping de sitios dinámicos (SPA), la automatización de tareas rutinarias (como el llenado de formularios), la creación de capturas de pantalla e informes PDF, y la monitorización del rendimiento de páginas web. Gracias al soporte de los tres motores de navegador principales, puedes estar seguro de que tu aplicación funciona correctamente en cualquier entorno.
La ventaja clave de Playwright frente a sus competidores es la velocidad y la fiabilidad. La biblioteca utiliza una arquitectura asíncrona basada en promesas, espera automáticamente a que aparezcan los elementos (no es necesario escribir sleep()), y también sabe trabajar con iframes, ventanas emergentes e interceptar mensajes de la consola del navegador. Playwright también incluye un generador de pruebas integrado (codegen) que graba tus acciones en el navegador y las convierte en código listo para usar.
Instalación de Playwright
Para instalar Playwright en un proyecto de Node.js, ejecuta los siguientes comandos en la terminal:
npm init -y
npm install playwright
npx playwright install
El primer comando crea el archivo package.json, el segundo instala la biblioteca y el tercero descarga los navegadores (Chromium, Firefox y WebKit). Si solo quieres instalar un navegador, usa npx playwright install chromium.
Para TypeScript, instala los tipos adicionales:
npm install -D @playwright/test
Si usas Playwright como framework de pruebas, se recomienda instalar @playwright/test, que incluye el ejecutor de pruebas, fixtures y configuración.
Inicio rápido: ejemplo mínimo funcional
Crea un archivo ejemplo.js y pega el siguiente código:
const { chromium } = require('playwright');
(async () => {
// Iniciamos el navegador (headless: true — sin interfaz gráfica)
const browser = await chromium.launch({ headless: true });
// Creamos una nueva página (pestaña)
const page = await browser.newPage();
// Navegamos al sitio web
await page.goto('https://ejemplo.com');
// Obtenemos el título de la página
const title = await page.title();
console.log('Título de la página:', title);
// Tomamos una captura de pantalla
await page.screenshot({ path: 'ejemplo.png' });
// Cerramos el navegador
await browser.close();
})();
Ejecuta el script con el comando node ejemplo.js. Como resultado, verás el título de la página en la consola y aparecerá un archivo ejemplo.png con la captura de pantalla en la carpeta.
Este ejemplo muestra el ciclo básico de trabajo con Playwright: iniciar el navegador, crear una página, navegar, interactuar con el DOM y cerrar.
Métodos y clases principales de Playwright
A continuación se presentan los métodos y clases clave de la biblioteca. Para cada uno se indica la firma, una breve descripción y un ejemplo práctico.
1. browser.newPage()
Firma: async browser.newPage(options?: BrowserContextOptions): Promise<Page>
Descripción: Crea una nueva página (pestaña) en el contexto actual del navegador. Cada página está aislada de las demás: tie
También en la biblioteca
Spring Data JPA en Java: guía completa con ejemplos
Biblioteca estándar de C++: revisión completa y ejemplos de código
Trabajo con YAML en C++: biblioteca yaml-cpp para análisis y serialización