Browser Automation
Control web browsers programmatically from your terminal with imux's built-in browser API. Automate testing, scraping, and interactions.
Why imux?
imux includes a WKWebView-based browser with a socket automation API. Script browser interactions directly from your terminal.
Key Features
- Programmatic browser control via socket API
- Click, type, fill, select, and scroll commands
- Screenshot capture and DOM queries
- Navigation and wait commands
- Browser surfaces share workspace targeting model
Getting Started
Open a Browser Surface
Press Cmd+Shift+B to open a browser surface in your current workspace. It appears as a pane alongside your terminals.
Navigate Programmatically
Use `icc browser goto <url>` to navigate the browser to any URL from your terminal or automation scripts.
Interact with Pages
Issue click, type, scroll, and select commands via the socket API. Target elements using CSS selectors, text content, or ARIA labels.
Capture and Query
Take screenshots, query DOM state, and execute JavaScript in the browser page. Integrate browser interactions into CI/CD pipelines via the socket API.
FAQ
What browser engine does imux use?
imux uses WKWebView (WebKit), the same engine that powers Safari. It provides native macOS performance and full modern web standards support.
Can I run headless browser tests?
Yes. The socket API allows you to script browser interactions from any language that can write to a Unix socket. Integrate browser tests into your CI pipeline without a separate browser automation tool.
Does the browser share cookies with Safari?
No. imux browser surfaces use isolated cookie storage per workspace, so your automation sessions do not interfere with your personal browsing.
Can I automate multiple browser surfaces at once?
Yes. Each browser surface is independently addressable via the socket API. Run parallel browser tests or automate multiple web apps in different panes.