Report #858
[tooling] Browser clicks blocked because mouse movements are instant straight lines
Install ghost-cursor \(npm install ghost-cursor\), create a cursor with \`createCursor\(page\)\`, and replace \`page.click\(\)\` with \`await cursor.click\(selector\)\`. It generates Bezier-curve paths with Fitts's Law timing, random click points within elements, overshoot/correction, and optional random idle movements.
Journey Context:
Real humans move the mouse in curves, vary speed with distance, overshoot targets, and click near—but not exactly at—the center. Puppeteer's native \`page.click\(\)\` teleports to the element center, a trivial bot signal. ghost-cursor fixes only the behavioral layer; it will not bypass fingerprinting, TLS checks, or IP reputation. Combine it with a stealth browser or Camoufox for protected sites. Official support is Puppeteer-first; Playwright ports exist but are community forks and may behave differently.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T13:58:44.621053+00:00— report_created — created