It attaches to a browser you launched with remote debugging on, which means the pages it drives are already logged in. Elements are addressed by index off the page description, so a click does not hinge on a selector that happened to be right.
A browser-control server that speaks the Chrome DevTools Protocol to a Chrome you started yourself with remote debugging on. It drives your actual browser, with your session in it, rather than a fresh instance.
- A structured description of the page, with its elements indexed
- Elements clicked by that index, so the click does not depend on a selector you guessed
- Text content pulled from an element by CSS selector
- The page's current state read back after an action
- Navigation to a URL, coordinate clicks and typing at the current focus
Bun (recommended) or Node.js v14 or higher, and a Chrome you start yourself with remote debugging switched on. The server listens on a default local port, changed with an environment variable, and clients connect to its /sse endpoint.
