Rustwright es una biblioteca de automatización de navegadores para Python y Node.js desarrollada por Skyvern-AI, presentada como una reescritura en Rust de Playwright. Mantiene la misma API de Playwright, de modo que basta con cambiar una línea de importación para que el código existente funcione sobre el nuevo motor, pero elimina el subproceso del driver de Node y se comunica directamente con Chromium mediante Chrome DevTools Protocol (CDP) en Rust, apoyado en Tokio como runtime asíncrono.
Entre sus rasgos diferenciales, el motor es nativo e in-process, lo que elimina la huella del driver de Playwright y, según el proyecto, reduce la memoria del lado cliente alrededor de un 70% frente a playwright-python (de 133,5 MiB a 40,6 MiB en una prueba diagnóstica de relleno de formularios). En velocidad, una medición local en caliente apunta a una mejora media de 2,55× sobre 17 casos, aunque los propios autores la califican de diagnóstico, no de evidencia en CI. Los clics y la escritura se envían por defecto como eventos CDP de confianza (Input.dispatchMouseEvent) en lugar de llamadas sintácticas al DOM, y el motor incorpora manejo de iframes cross-origin (OOPIF) con sesiones CDP aplanadas.
La biblioteca también busca minimizar las firmas de automatización de Playwright: no inyecta los globales del driver, normaliza la identidad headless en la UA con Chrome en lugar de HeadlessChrome y desactiva AutomationControlled por defecto. Aun así, los autores insisten en que Rustwright no es indetectable ni un bypass de CAPTCHA, ya que sigue usando CDP como primitivo. En su versión alpha solo soporta Chromium, el binding para Node es experimental y el subconjunto cubierto de la API es limitado. A medio plazo, la hoja de ruta incluye soporte de connect_over_cdp en Node y la posibilidad de apuntar a un Chromium/Chrome existente mediante variables de entorno.
