Maus- und Tastatureingaben, die sich wie ein Mensch bewegen
Standard-Automatisierung teleportiert den Mauszeiger und tippt mit Maschinengeschwindigkeit. Mit aktiviertem humanize läuft jeder Klick, jedes Hovern, Ausfüllen, Ziehen und Scrollen in Playwright über einen einzigen humanisierten Pfad: ein Cursor auf gekrümmter Bahn mit Easing, Tippen Taste für Taste mit natürlichem Timing und Scrollen mit Trägheit – alles als vertrauenswürdige native Events ausgelöst.
In jedem Tarif. In Pro folgen Koordinaten-Klicks aufgezeichneten menschlichen Bewegungen.
Einschalten, Skript behalten
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()Highlights
Gekrümmte Bahnen mit Korrektur
Bewegungen folgen von der letzten Cursorposition aus einer leicht gebogenen Bézier-Kurve, abgefahren als schnelle Hauptbewegung plus Korrektur: das mehrgipflige Geschwindigkeitsprofil echter Zielbewegungen.
Trusted Events
Die Eingabe ist nativ: Events kommen mit gesetztem isTrusted an, statt aus einem Seitenskript ausgelöst zu werden, und navigator.webdriver bleibt false.
Tippen mit Rhythmus
Tasten kommen einzeln, mit zufälligen Abständen, Pausen an Wortgrenzen und gelegentlich einem korrigierten Tippfehler. Werte über etwa 200 Zeichen bleiben atomar, damit Massen-Eingaben nicht im Schneckentempo laufen.
Echte Drags
Eine mit mouse.down() gedrückte Taste bleibt während der Bewegung gedrückt. down, move, up ergibt also einen echten Drag mit gehaltener Taste, und auch locator.dragTo wird humanisiert.
Scrollen mit Trägheit
Scrollen mit dem Mausrad läuft aus wie bei einem echten Mausrad oder Trackpad, mit gelegentlichen Lesepausen.
Sichere Klicks, sichtbare Bewegung
Jeder Trusted-Klick wird vorher geprüft (sichtbar, aktiviert, stabil, nicht verdeckt) und fällt sonst auf den nativen Klick zurück. showCursor zeichnet den Mauszeiger, damit Sie zusehen können.
So fügt es sich in Ihr Skript ein
humanize wirkt auf Page-Ebene (click, hover, type, fill, mouse.*, keyboard.type) und auf Locator-Ebene (click, type, fill, pressSequentially, dragTo), sodass bestehende Skripte es ohne Änderungen übernehmen.
Legen Sie kein eigenes Easing darüber. Setzen Sie Wegpunkte und lassen Sie humanize dazwischen interpolieren: Selbstgebautes Easing pro Schritt erzeugt Bewegungsstatistiken, die normale Eingabe nie hervorbringt.
Jeder Build erzeugt die Bewegungsbahnen: Das SDK plant Bewegungen, Drags, Scrollen und Tippen, und Koordinaten-Klicks (mouse.click) nehmen den engine-eigenen Pfad. In Pro folgen diese Klicks Bewegungen, die aus aufgezeichneten menschlichen Bewegungen abgeleitet sind, und im lizenzierten Build (kostenlos mit GitHub oder Pro) werden Pointer-Ereignisse mit höherer Genauigkeit gemeldet. An Ihrem Code ändert sich dabei nichts.
Wofür es eingesetzt wird
Seiten, die Verhalten beobachten
Abläufe, die darauf achten, wie sich Mauszeiger und Tastatur bewegen, nicht nur, wo sie landen.
Drag-Interaktionen
Drags mit gehaltener Taste funktionieren, sodass sich Slider und Drag-and-drop verhalten wie von Hand bedient.
Formularlastige Workflows
Registrierungen, Checkouts und Einstellungsseiten, die getippt statt in einem einzigen Event eingefügt werden.
Demos und Aufzeichnungen
showCursor macht automatisierte Durchläufe im Video nachvollziehbar.
Clearcote ist für Datenschutz, Tests, Forschung und rechtmäßige Automatisierung gebaut. Sie sind dafür verantwortlich, wie Sie es einsetzen, und dafür, die Nutzungsbedingungen der Websites einzuhalten, die Sie besuchen.
38.921 Zeilen zwischen Standard-Chromium und Clearcote Pro.
So weit ist der Pro-Build von dem Chromium entfernt, das Google ausliefert. Jeder Wert, den eine Website lesen kann, wird dort gesetzt, wo Chromium ihn berechnet. So beschreiben die Seite, ihre Worker und ihre iframes alle dasselbe Gerät.
- Canvas
- WebGL
- WebGPU
- Audio
- Schriften
- Bildschirm und Fenster
- WebRTC
- TLS
- Client Hints
- Eingabe-Timing
- Stimmen und Codecs
Pro-Build, gezählt am Patch-Stack von r57 (Chromium 156.0.8078.47). Der kostenlose offene Build ist ein kleinerer, öffentlicher Patch-Satz.
345 files changed, 35915 insertions(+), 3006 deletions(-)
240 Patches
Geänderte Dateien nach Bereich
- Rendering-Engine (Blink)118
- Browser (chrome/)52
- Content-Schicht42
- Komponenten39
- Netzwerk-Stack22
- UI und Fenster14
- TLS (BoringSSL)11
- V8 und URL17
- Alles andere30
In welchem Tarif enthalten
Menschliche Maus-, Tipp- und Scrollbewegungen gibt es in jeder Stufe: eine Startoption in Python, Node und .NET, in .NET zusätzlich explizite Aufrufe. Auf dem lizenzierten Build (kostenlos mit GitHub) meldet der Zeiger seine Bewegung genauer, und auf Pro folgen Koordinatenklicks aufgezeichneten menschlichen Bewegungen.
Tarife vergleichenFAQ
Wie lasse ich Mausbewegungen in Playwright menschlich wirken?
Starten Sie über das Clearcote-SDK mit humanize: true (Python: humanize=True). Ihre vorhandenen Aufrufe von page.click, fill und mouse bewegen und tippen dann humanisiert, ohne weitere Änderung.
Gelten die Events als vertrauenswürdig (trusted)?
Ja. Sie werden als native Eingabe ausgelöst, deshalb ist event.isTrusted gleich true; nichts wird per Seitenskript synthetisiert. (showCursor legt ein sichtbares Overlay über die Seite, nutzen Sie es also nur für Demos.)
Macht das Skripte langsamer?
Etwas – so wie ein Mensch langsamer ist als ein Teleport. Lange Werte (über etwa 200 Zeichen) werden in einem Rutsch ausgefüllt, damit Massendateneingaben schnell bleiben.
Gibt es das im .NET-SDK?
Ja. Seit SDK 0.58.0 macht die Startoption Humanize = true jede Seite und jedes Pop-up eines Starts menschlich, so wie humanize in Python und Node. Explizite Aufrufe gibt es auch: HumanClickAsync, HumanTypeAsync, HumanPressAsync, HumanScrollAsync, HumanDragToAsync und HumanSelectOptionAsync auf einer Seite oder einem Locator.
Kann ich dazu meine eigene Bibliothek für Mausbewegungen nutzen?
Besser nicht. Legt man das Easing einer anderen Bibliothek über das von humanize, entstehen Bewegungen, die weder ein Mensch noch normale Eingabe erzeugt. Geben Sie Playwright die Ziele vor und überlassen Sie humanize den Weg dorthin.
Mehr dazu in der Dokumentation
Verwandte Funktionen
Ein Drop-in-Chromium für Playwright und Puppeteer: ein geänderter Import in Python, Node oder .NET, und der Browser wird für Sie heruntergeladen und per SHA-256 verifiziert.
Ein Seed pro Account: in jeder Session dasselbe Gerät, für den nächsten Account ein anderes, mit Cookies und Speicher, die zwischen den Läufen erhalten bleiben.
Geben Sie browser-use, Stagehand, Crawl4AI oder Ihrem eigenen Agenten ein Chromium mit Identität auf Engine-Ebene – oder nutzen Sie den optionalen In-Browser-Agenten von Clearcote mit Ihrem eigenen Modell.
Canvas, WebGL, WebGPU, Audio, Schriften, Bildschirm und Hardware, in der C++-Engine aus einem Seed abgeleitet, mit passender Locale und Zeitzone – damit jedes Merkmal zu jedem anderen passt.
Weiterlesen
Clearcote ausprobieren
Direkt einsetzbar mit Playwright & Puppeteer, kohärent bis hinunter zum TLS-Handshake, mit einem Open-Source-Build als Ausgangspunkt.
Kostenlos für einen Browser: GitHub, eine Kartenprüfung oder ein Google-Firmenkonto. Nie belastet.