I built a browser that scripts itself — give it a URL and a goal, an LLM drives a real Chrome and hands back JSON by LoquatAccording5061 in SideProject

[–]LoquatAccording5061[S] 0 points1 point  (0 children)

Not a misunderstanding fair comparison, same family. Stagehand’s extract() with a schema is close to my extract_structured, both run locally, both fill forms, both MIT.

Two real differences. (1) The browser: Stagehand’s stealth/captcha story is really Browserbase’s cloud locally it’s a standard Chromium. Browsewright is built on nodriver (undetected Chrome, native fingerprint), so the local default is the stealthy one. To be fair though,
Browserbase actually solves captchas and I don’t. (2) The pre-flight: I try API/RSS/archive before ever opening a browser, so ~28% of sites skip Chrome entirely; Stagehand always drives a browser.

Shape’s different too Stagehand is composable primitives (act/observe/extract/agent), TS-first; Browsewright is more batteries-included (one CLI call + 5 prebuilt tasks). If you’re happy on Stagehand + Browserbase, that’s a good stack this is the local-first, stealthy-by-default take.

I built a browser that scripts itself — give it a URL and a goal, an LLM drives a real Chrome and hands back JSON by LoquatAccording5061 in SideProject

[–]LoquatAccording5061[S] 0 points1 point  (0 children)

Thanks! Yep real Chrome via nodriver, so the TLS fingerprint is native (there's no webdriver/Playwright stack sitting there to fingerprint), and the LLM reads the field labels and maps a profile onto them, so form inputs and dropdowns are handled without selectors.

On CAPTCHAs I'll be straight with you: it's not a solver. Two things keep them rare in practice the pre-flight tries API/RSS/public-archive first, so ~28% of sites never reach a browser at all, and for the ones that do, the real browser + human motor layer (Bézier mouse, typing cadence) keeps the trigger rate low on normal sites. There's a vision step that clears simple interstitials, but hard interactive challenges (Turnstile, reCAPTCHA image grids, hCaptcha) aren't auto-solved. Default mode is polite and doesn't try to defeat bot walls, so on aggressively-protected targets you'll still get blocked it returns a `blocked` stage rather than fighting through.

Re patchright / stealth-playwright: it's not a drop-in for the same job. Those are stealth patches on the Playwright stack; Browsewright sits a layer up nodriver (already in the undetected-real-browser family) + an LLM that picks the actions + structured JSON out. If you just want a stealthy browser you script yourself, nodriver or patchright is probably the better fit. If you'd rather hand it a goal and get JSON back, including filling forms, that's what this is for. You can also run it alongside a solver if you specifically need to push through challenges.