webcli
Original:🇺🇸 English
Translated
Browse the web, read page content, click buttons, fill forms, and take screenshots using the webcli headless browser. Use when the user asks to visit a website, gather information from a web page, or interact with a web app.
2installs
Sourceerdinccurebal/webcli
Added on
NPX Install
npx skill4agent add erdinccurebal/webcli webcliTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →webcli — Headless Browser CLI
You have access to a headless browser via the command. Use it to navigate websites, read content, interact with elements, and take screenshots.
webcliPrerequisites
bash
npm install -g @erdinccurebal/webcli
npx playwright install chromiumHomepage: https://erdinccurebal.github.io/webcli/
Repository: https://github.com/erdinccurebal/webcli
Commands Reference
Navigation
bash
webcli go <url> # Navigate to URL (auto-starts daemon)
webcli go <url> -w networkidle # Wait for network to settle
webcli go <url> -t mytab # Open in named tab
webcli back # Go back in history
webcli forward # Go forward
webcli reload # Reload current pageReading Page Content
bash
webcli source # Get full visible text of the page
webcli links # List all links (text + href)
webcli forms # List all forms with their inputs
webcli html <selector> # Get innerHTML of element
webcli attr <selector> <attribute> # Get element attribute valueInteraction
bash
webcli click "<visible text>" # Click element by visible text
webcli clicksel "<css selector>" # Click element by CSS selector
webcli fill "<selector>" "<value>" # Fill an input field (preferred for forms)
webcli type "<text>" # Type with keyboard (for focused element)
webcli select "<selector>" "<val>" # Select dropdown option
webcli press Enter # Press keyboard key (Enter, Tab, Escape...)
webcli focus "<selector>" # Focus an elementWaiting
bash
webcli wait "<selector>" # Wait for CSS selector to be visible
webcli waitfor "<text>" # Wait for text to appear on page
webcli sleep 2000 # Sleep for N millisecondsScreenshots
bash
webcli screenshot # Take screenshot (returns path)
webcli screenshot -o page.png # Save to specific fileBrowser Settings
bash
webcli viewport 1920 1080 # Change viewport size
webcli useragent "<string>" # Change user agentTab & Daemon Management
bash
webcli tabs # List open tabs
webcli quit # Close current tab
webcli quit -t mytab # Close specific tab
webcli status # Show daemon info (PID, uptime, tabs)
webcli stop # Stop daemon and close browserGlobal Options
All commands support:
- — target a specific tab (default: "default")
-t, --tab <name> - — output as structured JSON
--json - — command timeout (default: 30000)
--timeout <ms>
Best Practices
General workflow
- to navigate
webcli go <url> - to read the page content
webcli source - Use ,
webcli click,webcli fillto interactwebcli press - again to see the result
webcli source - if user wants visual confirmation
webcli screenshot
Form filling
- Always use for input fields — it properly sets React/Vue controlled inputs
webcli fill - Use or
webcli clickfor buttonswebcli clicksel - Use to submit forms
webcli press Enter - After submitting, use then
webcli sleep 1000to check the resultwebcli source
Multi-tab browsing
bash
webcli go https://site-a.com -t research
webcli go https://site-b.com -t reference
webcli source -t research # Read from specific tab
webcli source -t referenceError recovery
- If a command times out, try then retry
webcli sleep 2000 - If an element is not found, use to check what's on the page
webcli source - If the daemon seems stuck, use then retry the command
webcli stop - Use before interacting with dynamically loaded content
webcli wait "<selector>"
Important Notes
- Always read the page with before trying to interact — understand what's on the page first
webcli source - Prefer over
webcli fillfor form inputswebcli type - Prefer (by text) over
webcli click(by selector) when possible — it's more robustwebcli clicksel - Use between rapid interactions to let pages update
webcli sleep - The daemon persists between commands — no need to re-navigate unless the page changes