Input de mouse e teclado que se move como uma pessoa
A automação padrão teletransporta o ponteiro e digita em velocidade de máquina. Com o humanize ligado, todo clique, hover, preenchimento, arraste e rolagem no Playwright passa por um único caminho humanizado: cursor com trajeto curvo e easing, digitação tecla por tecla com tempos naturais e rolagem com inércia, tudo disparado como eventos nativos trusted.
Em todos os planos. No Pro, os cliques por coordenada seguem movimentos humanos gravados.
Ative e mantenha o seu 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()Destaques
Trajetos curvos, com correção
Os movimentos seguem uma curva de Bézier levemente arqueada a partir da última posição do cursor, percorrida como um movimento principal rápido mais uma correção: a velocidade com vários picos de um movimento real até o alvo.
Eventos trusted
O input é nativo, então os eventos chegam com isTrusted definido, em vez de serem disparados por script da página, e o navigator.webdriver continua false.
Digitação com ritmo
As teclas vão uma de cada vez, com intervalos aleatórios, pausas entre palavras e, de vez em quando, um erro de digitação corrigido. Valores acima de uns 200 caracteres continuam atômicos, para que preenchimentos em massa não se arrastem.
Arrastes de verdade
Um botão pressionado com mouse.down() continua pressionado durante o movimento, então down, move, up é um arraste de verdade com o botão segurado, e o locator.dragTo também é humanizado.
Rolagem com inércia
A rolagem pela roda desacelera como numa roda de mouse ou num trackpad de verdade, com uma pausa de vez em quando para leitura.
Cliques seguros, movimento visível
Cada clique trusted é verificado antes (visível, habilitado, estável, não coberto) e, se não passar, cai no clique nativo. O showCursor desenha o ponteiro para você acompanhar.
Como isso se encaixa no seu script
O humanize funciona no nível da page (click, hover, type, fill, mouse.*, keyboard.type) e no nível do locator (click, type, fill, pressSequentially, dragTo), então scripts existentes passam a usá-lo sem nenhuma edição.
Não empilhe o seu próprio easing por cima. Defina waypoints e deixe o humanize interpolar entre eles: um easing feito à mão, passo a passo, gera estatísticas de movimento que o input padrão nunca produz.
Todo build gera os trajetos de movimento: o SDK planeja movimentos, arrastes, rolagens e digitação, e os cliques por coordenada (mouse.click) seguem o trajeto do próprio motor. No Pro, esses cliques seguem movimentos derivados de gravações de movimento humano, e no build licenciado (grátis com GitHub ou Pro) o reporte do ponteiro tem mais fidelidade. Nada no seu código muda entre eles.
Para que as pessoas usam
Páginas que observam o comportamento
Fluxos que observam como o ponteiro e o teclado se movem, e não só onde eles chegam.
Interações de arrastar
Arrastes com o botão pressionado funcionam, então sliders e drag-and-drop se comportam como quando feitos à mão.
Fluxos cheios de formulários
Cadastros, checkouts e páginas de configuração digitados, e não colados num único evento.
Demos e gravações
O showCursor deixa os walkthroughs automatizados fáceis de acompanhar em vídeo.
O Clearcote foi feito para privacidade, testes, pesquisa e automação lícita. Você é responsável pela forma como o usa e por seguir os termos dos sites que visita.
Qual plano inclui
Mouse, digitação e rolagem humanizados estão em todos os planos: uma opção de launch em Python e Node, chamadas explícitas no .NET. No build licenciado (grátis com GitHub), o reporte do ponteiro tem mais fidelidade, e no Pro os cliques por coordenada em Python e Node seguem movimentos humanos gravados.
Comparar planosPerguntas frequentes
Como deixar o movimento do mouse no Playwright parecido com o de uma pessoa?
Inicie pelo SDK do Clearcote com humanize: true (Python: humanize=True). As chamadas de page.click, fill e mouse que você já tem passam a mover e digitar do jeito humanizado, sem nenhuma outra mudança.
Os eventos são trusted?
Sim. Eles são disparados como input nativo, então event.isTrusted é true; nada é sintetizado por script da página. (O showCursor adiciona um overlay visível à página, então deixe ele para demos.)
Isso deixa os scripts mais lentos?
Um pouco, do mesmo jeito que uma pessoa é mais lenta que um teletransporte. Valores longos (acima de uns 200 caracteres) são preenchidos de uma vez, então a entrada de dados em massa continua rápida.
Está disponível no SDK .NET?
Sim, como chamadas explícitas em vez de uma opção de launch: HumanClickAsync, HumanTypeAsync, HumanPressAsync, HumanScrollAsync, HumanDragToAsync e HumanSelectOptionAsync numa page ou num locator. A opção humanize, de uma flag só, é de Python e Node.
Posso usar a minha própria biblioteca de movimento de mouse junto?
Melhor não. Empilhar o easing de outra biblioteca por cima do easing do humanize gera um movimento que nem uma pessoa nem o input padrão produzem. Passe os alvos para o Playwright e deixe o humanize cuidar do trajeto.
Vá mais fundo na documentação
Recursos relacionados
Um Chromium drop-in para Playwright e Puppeteer: basta trocar um import em Python, Node ou .NET, e o navegador é baixado e verificado por SHA-256 para você.
Um seed por conta: o mesmo dispositivo a cada sessão, um diferente para a próxima conta, com cookies e armazenamento que persistem entre execuções.
Dê ao browser-use, Stagehand, Crawl4AI ou ao seu próprio agente um Chromium com identidade no nível do motor, ou rode o agente opcional embutido no Clearcote com o seu próprio modelo.
Canvas, WebGL, WebGPU, áudio, fontes, tela e hardware derivados no motor C++ a partir de um único seed, com locale e fuso horário ajustados para combinar, para que todas as superfícies concordem entre si.
Leituras relacionadas
Experimente o Clearcote
Plug-and-play no Playwright e no Puppeteer, coerente até o handshake TLS, com um build de código aberto para começar.
Grátis para um navegador com GitHub. Sem cartão.