Zum Inhalt springen
Eingabe · Maus · Tastatur · Scrollen

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.

Der Diff

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
Die Patches des offenen Builds auf GitHub lesen

Pro-Build, gezählt am Patch-Stack von r57 (Chromium 156.0.8078.47). Der kostenlose offene Build ist ein kleinerer, öffentlicher Patch-Satz.

Chromium 156.0.8078.47 → Clearcote Pro r57

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 vergleichen

FAQ

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

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.