Browser Automation
Browser automation tools let agents interact with websites using a headless Chrome instance powered by Browserless. Agents can navigate to URLs, click elements, fill forms, extract content, and take screenshots.
browser_navigate
Section titled “browser_navigate”Opens a URL in the browser.
browser_navigate(url: "https://example.com")browser_click
Section titled “browser_click”Clicks an element on the page. The agent identifies elements by their text content, CSS selector, or position on the page.
browser_click(selector: "#submit-button")browser_type
Section titled “browser_type”Types text into an input field.
browser_type(selector: "#search-input", text: "search query")browser_extract
Section titled “browser_extract”Extracts content from the page. Can use CSS selectors to target specific elements.
browser_extract(selector: ".article-body")Returns the text content of the matched elements.
browser_screenshot
Section titled “browser_screenshot”Captures a screenshot of the current page. Returns the image as an attachment in the chat.
browser_screenshot()browser_go_back / browser_go_forward
Section titled “browser_go_back / browser_go_forward”Navigates through the browser’s history.
browser_go_back()browser_go_forward()browser_close
Section titled “browser_close”Closes the current browser session. This frees up the browser slot for other tasks.
browser_close()How it works
Section titled “How it works”Each browser session connects to the Browserless service via WebSocket. Sessions are isolated per user. Different users get separate browser instances with separate profiles.
The connection URL is configured via FRONA_BROWSER_WS_URL (default: ws://browserless:3333 in Docker Compose).
Browser profiles
Section titled “Browser profiles”Browser profiles persist cookies, local storage, and other session data. This means an agent can log into a website in one conversation and remain logged in for future interactions.
Profiles are stored at the path configured by FRONA_BROWSER_PROFILES_PATH.
Concurrency
Section titled “Concurrency”Browserless has a configurable limit on concurrent sessions (default: 10). If all slots are in use, new browser requests will queue until a slot opens up.
Timeouts
Section titled “Timeouts”- Connection timeout: how long to wait when connecting to Browserless (default: 30 seconds)
- Session timeout: maximum lifetime of a browser session (default: 30 minutes, configured in Browserless)
Human-in-the-loop
Section titled “Human-in-the-loop”Some browser tasks require human intervention. CAPTCHAs, two-factor authentication, or complex form interactions. When an agent encounters these, it can use request_user_takeover to give you direct access to the browser session through a debugger URL.
See User Interaction for details on request_user_takeover.
Requirements
Section titled “Requirements”Browser automation requires a running Browserless instance. See Browserless Configuration for setup details.