¿Playwright o agentes de navegador? Donde la automatización por scripts sigue siendo la mejor opción.
Guiones de Playwright frente a agentes de navegador impulsados por MCP: fragilidad, determinismo y costo, una tarea de facturación realizada de ambas maneras, los riesgos de seguridad y cuándo gana cada uno.
Fuentes: Playwright vs WebMCP: Will Browser Automation Survive the Agent Era?
La web fue diseñada para que las personas hicieran clic en enlaces y leyeran páginas. Selenium, Puppeteer y Playwright permiten entonces que el código realice esos clics. Durante más de diez años, la automatización de navegadores significó escribir un script, detallar cada paso y ejecutarlo una y otra vez. Ahora, los agentes de IA están cambiando eso. Ellos pueden razonar, planificar y actuar, y navegan por una página de la misma manera que lo hace una persona: la observan, la comprenden y deciden qué hacer a continuación. Esto plantea una pregunta importante: ¿el Model Context Protocol (MCP) hace obsoleta la automatización por script, o Playwright sigue teniendo su lugar?
Por qué a los desarrolladores les gusta Playwright
Playwright, de Microsoft, es un marco moderno de automatización de navegadores. El código escrito con él hace que Chromium, Firefox o WebKit hagan clic en botones, rellenen formularios, extraigan datos y ejecuten pruebas de extremo a extremo. Un pequeño ejemplo:
const { chromium } = require('playwright');
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com/login');
await page.fill('#email', 'user@example.com');
await page.fill('#password', 'secret');
await page.click('button[type="submit"]');
await page.waitForURL('**/dashboard');
console.log('Logged in!');
await browser.close();
El resultado es limpio, determinista y predecible. Las razones habituales de su popularidad son:
- El soporte multi-navegadores viene integrado de fábrica.
- El aislamiento de pruebas y las ejecuciones en paralelo son muy sólidos.
- La función de espera automática elimina los antiguos trucos con
sleep(2000). - Se incluyen funciones de seguimiento, capturas de pantalla y grabación de video.
- Se integra perfectamente en los pipelines CI/CD.
Para la automatización de pruebas de calidad, las pruebas de regresión y los flujos de trabajo web basados en scripts, es el estándar de referencia.
Donde los scripts causan problemas
La debilidad radica en la fragilidad. Cambia el nombre de la clase CSS de un botón y la secuencia de comandos falla. Mueve un campo de formulario y también falla. Lanza una variante A/B con un nuevo diseño y vuelve a fallar. Cada secuencia de comandos es un mapa codificado a mano de suposiciones sobre cómo se veía una página en un momento determinado, y las interfaces de usuario nunca dejan de cambiar. Mantener activa una amplia suite de Playwright en una empresa en constante evolución puede convertirse en un segundo trabajo a tiempo completo.
Una analogía ayuda a comprenderlo. Una secuencia de comandos es como una tarjeta laminada con indicaciones para recorrer una ciudad. Funciona hasta que se cierra una carretera, se traslada un edificio o aparece una calle de un solo sentido. Un mejor navegante miraría a su alrededor, leería las señales de tráfico y decidiría el camino en tiempo real.
Qué agrega MCP
MCP, presentado por Anthropic a finales de 2024, es un estándar abierto para conectar modelos de IA como Claude con herramientas externas, fuentes de datos y entornos de manera estructurada. Funciona como un sistema de complementos universal para agentes. En lugar de operar dentro de una ventana de chat, un modelo puede acceder a bases de datos, APIs, sistemas de archivos y navegadores web.
Ya existe un servidor Playwright MCP que expone acciones del navegador como funciones que un agente puede llamar. Donde un desarrollador escribiría una línea como esta:
await page.click('#submit-button');
En su lugar, un agente recibe un objetivo:
"Submit the contact form on acme.com with the user's name and email"
Desde allí navega, localiza elementos e interactúa con la página mediante visión, análisis de HTML y razonamiento, sin ningún selector predefinido en ningún lugar.
Comparación directa
Playwright, el enfoque tradicional
- Control: el desarrollador escribe cada paso.
- Seleccionadores: CSS, XPath o texto.
- Resiliencia ante cambios en la interfaz: deja de funcionar cuando cambia la interfaz.
- Configuración: moderada, ya que se requiere código.
- Determinismo: completamente determinista.
- Depuración: fácil, con registros de trazado y capturas de pantalla.
- Velocidad: rápida.
- Costo: solo costos de procesamiento.
- Mejor para: pruebas de regresión y pipelines CI/CD.
- Fiabilidad: alta cuando se mantiene.
WebMCP o Playwright MCP, el enfoque con agente
- Control: un agente de IA razona y toma decisiones.
- Seleccionadores: lenguaje natural además de comprensión visual.
- Resiliencia ante cambios en la interfaz de usuario: se adapta razonando nuevamente a partir del DOM actual.
- Configuración: baja, ya que basta con describir el objetivo.
- Determinismo: no determinista, ya que interviene el razonamiento de los LLM.
- Depuración: más difícil, ya que la pregunta se vuelve por qué el agente eligió esa acción.
- Velocidad: más lenta debido a la carga adicional de la inferencia de los LLM.
- Costo: cálculos más tokens de la API del LLM.
- Mejor para: tareas dinámicas, flujos de trabajo complejos y agentes.
- Fiabilidad: en mejora, pero aún le falta alcanzar el nivel de producción.
Una tarea, dos métodos
La tarea: iniciar sesión en un panel de control SaaS, encontrar la factura más reciente y descargarla en formato PDF.
Con Playwright, el script navega a la página de inicio de sesión, rellena el correo electrónico y la contraseña mediante selectores data-testid, hace clic en el botón de inicio de sesión y continúa paso a paso.
await page.goto('https://app.saas.com/login');
await page.fill('[data-testid="email"]', credentials.email);
await page.fill('[data-testid="password"]', credentials.password);
await page.click('[data-testid="login-btn"]');
await page.waitForSelector('.dashboard');
await page.click('nav >> text=Billing');
await page.click('.invoice-list tr:first-child .download-btn');
await page.waitForEvent('download');
Considere qué sucede si el atributo data-testid se renombra durante una refactorización, si la navegación de facturación se mueve a una barra lateral, o si la tabla de facturas se pagina de manera diferente.
Con un agente, la instrucción es un objetivo expresado en palabras sencillas:
Goal: "Go to app.saas.com, log in with my credentials,
navigate to billing, find the most recent invoice,
and download it as a PDF."
El agente carga la página y lee el DOM y el diseño visual, localiza el formulario de inicio de sesión por su función, ingresa las credenciales y lo envía, busca una opción de navegación etiquetada como Facturación, Facturas o similar, encuentra la factura más reciente por fecha y hace clic en descargar. Si la interfaz cambia, vuelve a leer la página y se adapta. No es necesario actualizar ningún script.
De la programación a las instrucciones
La automatización tradicional pregunta qué pasos exactos debe seguir la computadora. La automatización de la era de los agentes pregunta qué resultado se desea y si la IA puede encontrar los pasos necesarios. En otras palabras: la programación programa el camino, mientras que las instrucciones programan el destino.
Para tareas simples, estables y de gran volumen, como 10,000 pruebas de regresión en CI, el determinismo de Playwright gana siempre. En flujos de trabajo complejos, cambiantes y puntuales, del tipo que realizaría un asistente humano, los agentes de navegador controlados mediante MCP están tomando la delantera.
Herramientas que aparecen en este espacio
El ecosistema está creciendo rápidamente:
- Playwright MCP, un servidor MCP oficial que expone las acciones del navegador Playwright a los agentes de IA.
- Stagehand de Browserbase, una automatización nativa de IA que combina Playwright con la visión de LLM.
- Browser Use, un framework de código abierto para agentes de navegación web.
- Claude Computer Use, el sistema de Anthropic que puede ver y controlar un escritorio o navegador completo.
- OpenAI Operator, un agente GPT-4o que navega para completar tareas.
- Skyvern, automatización basada en visión y LLM que no necesita selectores.
Esto no son juguetes. Las empresas las utilizan en flujos de trabajo de adquisiciones, extracción de datos, envío de formularios y monitoreo de competidores, tareas que de otro modo podrían requerir meses de programación.
¿Desaparecerá Playwright?
No, aunque su papel está cambiando. Sigue siendo esencial, pero ya no es la única herramienta disponible. Se asemeja a SQL: fundamental, preciso e insustituible para trabajos estructurados, aunque ya no es el único camino hacia las respuestas. En el futuro se utilizarán ambos enfoques para las tareas para las que cada uno sea adecuado.
Elegir entre ellos
La decisión se toma mediante un diagrama de flujo. Comience preguntándose si la tarea está bien definida y cuenta con una interfaz de usuario estable. Si es así y se ejecuta repetidamente a gran escala, como en pruebas de integración o de regresión, los scripts son la solución. Si la interfaz de usuario cambia o la tarea es única, un agente es más adecuado.
Is the task well-defined with a stable UI?
│
├── YES → Does it run repeatedly at scale (CI/CD, regression)?
│ │
│ ├── YES → Use Playwright
│ └── NO → Either works; Playwright is cheaper
│
└── NO → Is the UI dynamic, unknown, or frequently changing?
│
├── YES → Use MCP Agent / AI Browser
└── NO → Does it require multi-step reasoning?
│
├── YES → Use MCP Agent
└── NO → Use Playwright
Los próximos dos años
Los agentes no eliminarán la automatización basada en scripts de la noche a la mañana, pero ya se observan varias tendencias.
- Los pipelines híbridos se vuelven normales. Playwright se encarga del 80% estable y repetitivo, mientras que un agente MCP se ocupa del 20% impredecible que rompe los scripts en cada iteración.
- Playwright adquiere funciones de IA. Es de esperar la existencia de una función de corrección de selectores, en la que un selector que deja de funcionar pide a un LLM que localice el elemento equivalente en la página actualizada. Healenium y Reflect ya hacen algo similar, y parece probable que Playwright incluya soporte nativo para esto.
- La fiabilidad de los agentes mejora. Los agentes actuales a veces interpretan mal una página, hacen clic en el elemento incorrecto o se ven afectados por ventanas emergentes. Modelos multimodales más avanzados como GPT-4o, Claude 3.5 Sonnet y Gemini 2.0 deberían reducir significativamente esos fallos.
- El QA cambia de forma. En lugar de escribir scripts de Playwright, los testers expresarán sus intenciones en lenguaje natural y dejarán que los agentes las interpreten y ejecuten, pasando de la creación de scripts a la especificación de resultados.
- La seguridad se convierte en un problema en tiempo real. Un agente con control autónomo del navegador podría hacer clic en algo no deseado, enviar un formulario con datos incorrectos o ser manipulado por una página maliciosa. La inyección de comandos a través del contenido web, en la que una página engaña al agente para que realice acciones no intencionadas, ya es una amenaza documentada. Aquí radica la mayor ventaja de Playwright, ya que hace exactamente lo que indica el script y nada más.
El panorama general
Durante una década, la automatización de navegadores fue un problema de traducción: convertir la intención humana en código que imitara las acciones humanas. Playwright lo resolvió de manera excelente. Ahora los agentes eliminan el paso de traducción, ya que la intención expresada en lenguaje sencillo es suficiente y el agente se encarga del resto. Eso no hace que Playwright sea obsoleto; lo hace especializado, al igual que un cirujano sigue utilizando un escalpelo en la era de la cirugía robótica. El escalpelo ofrece precisión, control y fiabilidad, mientras que el robot brinda capacidad para manejar la complejidad, adaptabilidad y escala. La pregunta práctica ya no es Playwright contra MCP, sino cuándo se necesita un escalpelo y cuándo se necesita un robot.
Leer más
- Explicación de WebMCP: Proporcionar herramientas a los agentes de IA del navegador en lugar de conjeturas — WebMCP permite a una página web declarar herramientas para los agentes de IA. Cómo registrarlas, anotar los riesgos, probarlas en Chrome y gestionar la seguridad, además del estado del soporte en los navegadores para el año 2026.
- Hyperbrowser MCP en producción: escaleras de escalado, mecanismos de transporte y medidas de seguridad — Qué ofrece Hyperbrowser MCP a los agentes del navegador, dónde fallan sus configuraciones predeterminadas de HTTP y SSE, y los pasarelas de políticas, procesos de aprobación y controles de perfil que aún se necesitan.