Skip to Content

Browser Automation

Drive Chromium and Firefox programmatically through cmdop. Useful for scraping, UI testing, form automation, and AI-driven browsing inside chat.

For headless servers, browser sessions run on the cmdop daemon for the target host — pipe through cmdop connect exec <host> -- cmdop browser ... to drive a remote browser.

Start a browser session

cmdop browser start cmdop browser start --headless cmdop browser start --headless --profile work cmdop browser start --proxy http://proxy.local:8080 cmdop browser start --incognito
FlagDescription
--headlessRun without UI
--profileUse a specific browser profile
--proxySet proxy server
--incognitoPrivate browsing mode
cmdop browser navigate https://example.com cmdop browser back cmdop browser forward cmdop browser refresh

Interact with elements

cmdop browser click "#submit-button" # by selector cmdop browser click --text "Sign In" # by text cmdop browser type "#email" "[email protected]"

Screenshots

cmdop browser screenshot cmdop browser screenshot --full-page cmdop browser screenshot --element "#main-content" cmdop browser screenshot --out /tmp/shot.png

AI-powered browsing inside chat

Use natural language with the AI chat:

cmdop chat --browser
cmdop> open amazon.com cmdop> search for "mechanical keyboard" cmdop> filter by 4 stars and above cmdop> add the first result to cart

Cross-link: see ./chat for the chat surface.

Scripted automation (YAML)

# scrape-prices.yaml name: Price Check browser: headless: true steps: - navigate: https://store.example.com - wait: "#products-loaded" - for_each: selector: ".product-card" do: - extract: name: ".product-name" price: ".product-price" - export: prices.json

Run it:

cmdop browser run scrape-prices.yaml

Profiles & cookies

cmdop browser profiles list cmdop browser profiles create work cmdop browser profiles delete old-profile cmdop browser cookies export > cookies.json cmdop browser cookies import cookies.json cmdop browser cookies clear

Chrome DevTools Protocol

Get the CDP endpoint and connect with Playwright, Puppeteer, or any CDP client:

cmdop browser cdp-endpoint # → ws://localhost:9222/devtools/browser/...

Driving a remote browser

cmdop connect exec mac-studio -- cmdop browser screenshot --out /tmp/mac.png cmdop connect exec mac-studio -- cmdop browser navigate https://internal.example.com

The browser runs on mac-studio; the screenshot file lands on mac-studio and can be pulled back with cmdop files get.

Stop the browser

cmdop browser stop
Last updated on