Entrada de mouse y teclado que se mueve como una persona
La automatización estándar teletransporta el puntero y escribe a velocidad de máquina. Con humanize activado, cada clic, hover, llenado de campo, arrastre y scroll en Playwright pasa por una misma ruta humanizada: un cursor con trayectoria curva y suavizada, escritura tecla por tecla con tiempos naturales y scroll con inercia, todo despachado como eventos nativos confiables.
En todos los planes. En Pro, los clics por coordenadas siguen movimientos humanos grabados.
Actívalo y conserva tu script
from clearcote import launch
browser = launch(fingerprint="seed-123", humanize=True, show_cursor=True)
page = browser.new_page()
page.goto("https://example.com")
page.click("text=Sign in") # eased curve, then a trusted click
page.fill("#email", "you@example.com") # focus, then key-by-key typing
page.locator("#password").type("s3cr3t") # locators are humanized too
# a held-button drag (e.g. a slider): the press stays held across the move
x0, y0, x1 = 100, 300, 400 # the handle's start, and where to release it
page.mouse.move(x0, y0); page.mouse.down()
page.mouse.move(x1, y0); page.mouse.up()
browser.close()Lo más destacado
Trayectorias curvas y con corrección
Los movimientos siguen una trayectoria Bézier ligeramente curvada desde la última posición del cursor, recorrida como un movimiento principal rápido más una corrección: la velocidad con varios picos de un movimiento de alcance real.
Eventos confiables
La entrada es nativa, así que los eventos llegan con isTrusted activado en lugar de despacharse desde el script de la página, y navigator.webdriver sigue en false.
Escritura con ritmo
Las teclas se pulsan de una en una con intervalos aleatorios, pausas entre palabras y, de vez en cuando, un error de tecleo corregido. Los valores de más de unos 200 caracteres se mantienen atómicos para que el llenado masivo no se eternice.
Arrastres reales
Un botón presionado con mouse.down() se mantiene presionado durante el movimiento, así que down, move, up es un arrastre real con el botón presionado, y locator.dragTo también se humaniza.
Scroll con inercia
El scroll con la rueda se desacelera como lo hace una rueda o un trackpad real, con alguna pausa ocasional para leer.
Clics seguros, movimiento visible
Cada clic confiable se verifica primero (visible, habilitado, estable, sin nada encima) y, si no pasa, recurre al clic nativo. showCursor dibuja el puntero para que puedas verlo.
Cómo encaja en tu script
humanize funciona a nivel de página (click, hover, type, fill, mouse.*, keyboard.type) y a nivel de locator (click, type, fill, pressSequentially, dragTo), así que los scripts existentes lo aprovechan sin modificaciones.
No superpongas tu propio easing. Define puntos de paso y deja que humanize interpole entre ellos: un easing por paso hecho a mano genera estadísticas de movimiento que la entrada estándar nunca produce.
Todos los builds generan las trayectorias de movimiento: el SDK planifica los movimientos, los arrastres, el scroll y la escritura, y los clics por coordenadas (mouse.click) usan la propia trayectoria del motor. En Pro, esos clics siguen un movimiento derivado de movimientos humanos grabados, y en el build con licencia (gratis con GitHub o Pro) el reporte del puntero tiene mayor fidelidad. Nada cambia en tu código entre uno y otro.
Para qué se usa
Páginas que observan el comportamiento
Flujos que se fijan en cómo se mueven el puntero y el teclado, no solo en dónde terminan.
Interacciones de arrastre
Los arrastres con el botón presionado funcionan, así que los sliders y el arrastrar y soltar se comportan como cuando se hacen a mano.
Flujos con muchos formularios
Registros, checkouts y páginas de configuración escritos tecla a tecla en lugar de pegados en un solo evento.
Demos y grabaciones
showCursor hace que los recorridos automatizados se puedan seguir en video.
Clearcote está hecho para la privacidad, las pruebas, la investigación y la automatización lícita. Tú eres responsable de cómo lo usas y de respetar los términos de los sitios que visitas.
Qué plan lo incluye
El mouse, la escritura y el scroll humanizados están en todos los planes: una opción de lanzamiento en Python y Node, llamadas explícitas en .NET. En el build con licencia (gratis con GitHub), el reporte del puntero tiene mayor fidelidad, y en Pro, los clics por coordenadas de Python y Node siguen movimientos humanos grabados.
Comparar planesPreguntas frecuentes
¿Cómo hago que el movimiento del mouse en Playwright parezca humano?
Inicia el navegador con el SDK de Clearcote y humanize: true (Python: humanize=True). Tus llamadas existentes a page.click, fill y mouse pasan a moverse y escribir de forma humanizada, sin ningún otro cambio.
¿Los eventos son confiables?
Sí. Se despachan como entrada nativa, así que event.isTrusted es true; nada se sintetiza desde el script de la página. (showCursor agrega a la página una capa visible, así que resérvalo para demos.)
¿Hace más lentos los scripts?
Un poco, igual que una persona es más lenta que un teletransporte. Los valores largos (de más de unos 200 caracteres) se completan de una vez, así que la carga masiva de datos sigue siendo rápida.
¿Está disponible en el SDK de .NET?
Sí, como llamadas explícitas en lugar de una opción de lanzamiento: HumanClickAsync, HumanTypeAsync, HumanPressAsync, HumanScrollAsync, HumanDragToAsync y HumanSelectOptionAsync sobre una página o un locator. La opción humanize de un solo flag es para Python y Node.
¿Puedo usar mi propia biblioteca de movimiento del mouse con esto?
Mejor no. Superponer el easing de otra biblioteca al de humanize genera un movimiento que no produciría ni una persona ni la entrada estándar. Dale a Playwright los objetivos y deja que humanize se encargue de la trayectoria.
Profundiza en la documentación
Características relacionadas
Un Chromium de reemplazo directo para Playwright y Puppeteer: un solo cambio de import en Python, Node o .NET, y el navegador se descarga y se verifica con SHA-256 por ti.
Un seed por cuenta: el mismo dispositivo en cada sesión, uno distinto para la siguiente cuenta, con cookies y almacenamiento que persisten entre ejecuciones.
Dale a browser-use, Stagehand, Crawl4AI o tu propio agente un Chromium con identidad a nivel del motor, o ejecuta el agente opcional de Clearcote integrado en el navegador con tu propio modelo.
Canvas, WebGL, WebGPU, audio, fuentes, pantalla y hardware derivados en el motor C++ a partir de un solo seed, con la configuración regional y la zona horaria a juego, para que cada superficie coincida con todas las demás.
Lecturas relacionadas
Prueba Clearcote
Un reemplazo directo para Playwright y Puppeteer, coherente hasta el handshake TLS, con un build de código abierto para empezar.
Gratis para un navegador con GitHub. Sin tarjeta.