{"slug": "browseract-hands-on-real-browser-automation-from-the-cli", "title": "BrowserAct Hands-On: Real Browser Automation from the CLI", "summary": "A developer tested BrowserAct, an open-source browser automation CLI designed for AI agents, and found it capable of handling real browser workflows without requiring traditional scripting. The CLI successfully extracted clean Markdown content from simple and JavaScript-heavy websites, and created browser sessions with imported state. The developer concluded that BrowserAct offers a practical alternative to Playwright and Selenium for certain automation tasks.", "body_md": "A few days ago, I received an email from the BrowserAct team after they came across one of my articles. They introduced BrowserAct as a browser automation CLI built for AI agents and invited me to try it out.\n\nBrowser automation usually means selectors, waits, scripts, browser state management, and debugging.\n\nWhether you're using Playwright, Selenium, or Puppeteer, even simple browser workflows often require writing and maintaining automation code.\n\nWhen the BrowserAct team reached out and invited me to try their browser automation CLI, I was curious about one thing:\n\nCan an AI-friendly CLI handle real browser workflows without requiring me to write Playwright or Selenium scripts?\n\nInstead of writing a high-level overview, I decided to install BrowserAct, test it against real websites, create browser sessions, automate interactions, and evaluate how it performs in practical scenarios.\n\nThis article documents my hands-on experience and first impressions after testing BrowserAct on a real-world workflow.\n\nBrowserAct is an open-source browser automation CLI that provides:\n\nThe interesting part is that BrowserAct tries to abstract browser automation into simple commands rather than requiring developers to write Playwright or Selenium scripts.\n\nI installed BrowserAct using uv:\n\n```\nuv tool install browser-act-cli --python 3.12\n```\n\nAfter installation, I verified the available commands:\n\n```\nbrowser-act --help\n```\n\nThe CLI immediately exposed commands for:\n\nAt this point it was clear that BrowserAct was much more than a simple web scraping utility.\n\nI started with the simplest possible example.\n\n```\nbrowser-act stealth-extract https://example.com\n```\n\nOutput:\n\n```\n# Example Domain\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\n[Learn more](https://iana.org/domains/example)\n```\n\nThe result was returned as clean Markdown.\n\nNo browser scripting.\n\nNo selectors.\n\nNo parsing logic.\n\nJust a single command.\n\nNext, I wanted to see how BrowserAct handled a modern JavaScript-driven website.\n\nI chose the Whale TV careers page.\n\n```\nbrowser-act stealth-extract \\ https://www.whaletv.com/careers \\ --content-type markdown\n```\n\nOutput:\n\nBrowserAct successfully extracted:\n\nSome of the positions extracted included:\n\nThe extraction was surprisingly clean and readable.\n\nNext, I tested a specific job posting.\n\n```\nbrowser-act stealth-extract \\ https://www.whaletv.com/open-positions/smart-tv-app-engineer-smart-tv-app-specialist \\ --content-type markdown\n```\n\nOutput:\n\nBrowserAct extracted:\n\nFor example, the extracted technical stack included:\n\nThis was more than simple HTML retrieval. The content was structured and immediately usable.\n\nThe next feature I wanted to evaluate was browser creation.\n\nFirst, I listed the available browser profiles.\n\n```\nbrowser-act browser list-profiles\n```\n\nOutput:\n\n```\nlocal_profile_101257381414961177 Your Chrome     local      shouriearyandev@gmail.com      Chrome\n  browser:chrome_local_101261645860307073 whale-tv-evaluation managed    -                              whale-tv-evaluation\n\nTotal: 2 profiles\n\nTip: Use \"browser-act browser create --source-profile <PROFILE_ID>\" to create a browser from a profile.\n```\n\nI then created a browser using my existing Chrome profile.\n\n```\nbrowser-act browser create \\ --type chrome \\ --name \"whale-tv-evaluation-test\" \\ --desc \"Testing BrowserAct browser automation features\" \\ --source-profile <profile-id>\n```\n\nOutput:\n\n```\nid=chrome_local_101361762646884363 name=\"whale-tv-evaluation-test\" type=chrome\n  desc=\"Testing BrowserAct browser automation features, navigation, interaction, and content extraction for Smart TV and developer tooling evaluation.\"\n  imported_cookies=1606\n  imported_ls_domains=160\n```\n\nBrowserAct reported:\n\n```\nimported_cookies=1592\nimported_ls_domains=157\n```\n\nThe browser was created successfully with existing browser state imported automatically.\n\nTo verify that the browser had been created successfully, I listed the available browsers.\n\n```\nbrowser-act browser list\n```\n\nOutput:\n\nThe newly created browser appeared in the list and was ready to be used for automation.\n\nAfter creating a browser, I opened a new browser session.\n\n```\nbrowser-act \\ --session whale-test \\ browser open \\ <browser-id> \\ https://www.google.com\n```\n\nOutput:\n\n```\nsession_name=whale-test\nbrowser_type=chrome\nurl=https://www.google.com/\ntitle=Google\n```\n\nBrowserAct immediately created a session and navigated to Google.\n\nThe output included:\n\n```\nsession_name=whale-test\nbrowser_type=chrome\nurl=https://www.google.com\ntitle=Google\n```\n\nThis confirmed that the browser was operational and ready for interaction.\n\nOne of BrowserAct's most interesting features is the ability to inspect a page and receive a structured representation of its interactive elements.\n\n```\nbrowser-act \\ --session whale-test \\ state\n```\n\nOutput:\n\nInstead of exposing raw HTML, BrowserAct generated an interaction tree.\n\nFor example:\n\n[14] Search Box\n\n[17] Google Search\n\n[18] I'm Feeling Lucky\n\nThis makes interaction significantly easier because actions can be performed using element indexes rather than CSS selectors.\n\nUsing the index returned by the state command, I entered a search query.\n\n```\nbrowser-act \\ --session whale-test \\ input 14 \"Whale TV careers\"\n```\n\nOutput:\n\n```\ninput=\"Whale TV careers\" element=14\n```\n\nBrowserAct successfully entered the text into the search box.\n\nNext, I triggered the search.\n\n```\nbrowser-act \\ --session whale-test \\ click 17\n```\n\nOutput:\n\n```\nclicked=17\n```\n\nThe click was executed successfully.\n\nTo allow the page to finish loading, I waited for the browser to become stable.\n\n```\nbrowser-act \\ --session whale-test \\ wait stable\n```\n\nOutput:\n\n```\nwait completed: page is stable\n```\n\nThis demonstrated how BrowserAct handles browser interactions through a simple command-driven workflow.\n\nNext, I wanted to test direct navigation to a website.\n\n```\nbrowser-act \\ --session whale-test \\ navigate https://www.whaletv.com/careers\n```\n\nOutput:\n\n```\nurl=https://www.whaletv.com/careers\ntitle=whaletv.com/careers\nnew_tab=False\n```\n\nBrowserAct immediately navigated to the requested URL and reported:\n\nurl=[https://www.whaletv.com/careers](https://www.whaletv.com/careers)\n\ntitle=whaletv.com/careers\n\nAt this point I was interacting with a real-world website rather than a simple test page.\n\nAfter loading the careers page, I inspected the page state again.\n\n```\nbrowser-act \\ --session whale-test \\ state\n```\n\nOutput:\n\nBrowserAct identified actionable elements such as:\n\n[11] Head of Ad Sales, Emerging Markets\n\n[12] Ad Operations Specialist\n\n[15] Accept Cookies\n\nThe conversion of page content into actionable elements is one of the most interesting aspects of BrowserAct's workflow.\n\nNext, I clicked one of the available job listings.\n\n```\nbrowser-act \\ --session whale-test \\ click 11\n```\n\nOutput:\n\n```\nclicked=11\n```\n\nBrowserAct opened the job posting and navigated to the detailed job description page.\n\nOnce again, I waited for the page to finish loading.\n\n```\nbrowser-act \\ --session whale-test \\ wait stable\n```\n\nOutput:\n\n```\nwait completed: page is stable\n```\n\nThe page was now ready for content extraction.\n\nFinally, I extracted the content from the job details page.\n\n```\nbrowser-act \\ --session whale-test \\ get markdown\n```\n\nOutput:\n\nBrowserAct returned the complete job description including:\n\nAt this point I had completed an end-to-end workflow:\n\nCreate Browser\n\n→ Open Session\n\n→ Navigate\n\n→ Inspect State\n\n→ Click Elements\n\n→ Wait\n\n→ Extract Content\n\nwithout writing a single line of browser automation code.\n\nDuring my evaluation, I successfully tested the following BrowserAct capabilities:\n\n**Content Extraction**\n\n```\nbrowser-act stealth-extract <url>\n```\n\n**Browser Profile Discovery**\n\n```\nbrowser-act browser list-profiles\n```\n\n**Browser Creation**\n\n```\nbrowser-act browser create\n```\n\n**Browser Sessions**\n\n```\nbrowser-act browser open\n```\n\n**Page Inspection**\n\n```\nbrowser-act state\n```\n\n**Browser Interaction**\n\n```\nbrowser-act input \nbrowser-act click \nbrowser-act navigate \nbrowser-act wait stable\n```\n\n**Content Extraction From Active Sessions**\n\n```\nbrowser-act get markdown\n```\n\nThrough this testing, I was able to evaluate BrowserAct across both extraction and browser automation workflows.\n\nDuring testing, I couldn't help comparing BrowserAct to tools such as Playwright and Selenium.\n\nTraditional browser automation usually involves:\n\nBrowserAct takes a different approach.\n\nInstead of building automation through code, many workflows can be performed directly through CLI commands.\n\nFor quick tasks such as:\n\nthe workflow feels significantly lighter.\n\nThat doesn't replace full automation frameworks, but it does make many common browser tasks much faster to execute.\n\nBased on my testing, BrowserAct could be useful for:\n\n**AI Agent Development**\n\nDevelopers building AI agents that need browser capabilities.\n\n**Research Workflows**\n\nCollecting information from websites and extracting structured content.\n\n**Browser Automation**\n\nAutomating simple browser interactions without building a complete automation framework.\n\n**Developer Tooling**\n\nInternal tools that need browser-based capabilities.\n\n**Content Extraction**\n\nExtracting structured content from modern websites.\n\nMy goal was simple: install BrowserAct, test it on real websites, and determine whether it could handle practical browser automation workflows.\n\nDuring testing I was able to:\n\n✅ Install BrowserAct\n\n✅ Extract content from multiple websites\n\n✅ Extract detailed job descriptions\n\n✅ Import an existing Chrome profile\n\n✅ Create a browser\n\n✅ Open browser sessions\n\n✅ Navigate websites\n\n✅ Inspect page structure\n\n✅ Interact with page elements\n\n✅ Extract content after navigation\n\nMost importantly, I was able to complete an entire workflow:\n\nCreate Browser\n\n→ Open Session\n\n→ Navigate\n\n→ Inspect\n\n→ Click\n\n→ Wait\n\n→ Extract\n\nusing CLI commands instead of writing browser automation code.\n\nFor developers interested in browser automation, AI agents, content extraction, or developer tooling, BrowserAct is definitely worth exploring.\n\nThis was my first round of testing, and I focused primarily on installation, content extraction, browser creation, session management, navigation, and page interaction.\n\nThere are still several capabilities I haven't explored in depth yet, including verification handling, remote human handoff, screenshots, network inspection, multi-session workflows, and some of BrowserAct's more advanced browser management features.\n\nThose areas deserve their own dedicated evaluation, which I'll likely cover in a follow-up article after additional testing.\n\nThis article focused on validating the core BrowserAct workflow:\n\nIn future testing, I plan to explore:\n\n`remote-assist`\n\nIf those tests are successful, I'll publish a follow-up article documenting the results.\n\nTry BrowserAct:\n\n[https://browseract.com?fpr=aryan21](https://browseract.com?fpr=aryan21)\n\nBrowserAct GitHub Skills:\n\n[https://github.com/browser-act/skills](https://github.com/browser-act/skills)\n\nBrowserAct Documentation:\n\nThis article includes an affiliate link. If you decide to try BrowserAct through my referral link, I may earn a commission at no additional cost to you.", "url": "https://wpnews.pro/news/browseract-hands-on-real-browser-automation-from-the-cli", "canonical_source": "https://dev.to/aryan_shourie/browseract-hands-on-real-browser-automation-from-the-cli-41n6", "published_at": "2026-06-17 08:37:21+00:00", "updated_at": "2026-06-17 08:51:18.725064+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "large-language-models"], "entities": ["BrowserAct", "Playwright", "Selenium", "Puppeteer", "Whale TV"], "alternates": {"html": "https://wpnews.pro/news/browseract-hands-on-real-browser-automation-from-the-cli", "markdown": "https://wpnews.pro/news/browseract-hands-on-real-browser-automation-from-the-cli.md", "text": "https://wpnews.pro/news/browseract-hands-on-real-browser-automation-from-the-cli.txt", "jsonld": "https://wpnews.pro/news/browseract-hands-on-real-browser-automation-from-the-cli.jsonld"}}