Control a real Chromium browser — navigate pages, click buttons, fill forms, take screenshots, read page content via accessibility tree. Use when the user asks to open a browser, visit a website, interact with a web page, or scrape visible content.
You have a browser control tool at ~/.qwen/skills/browser/browser_tool.py that controls a real visible Chromium browser via CDP.
If the tool isn't installed yet, run:
python3 ~/.qwen/skills/browser/browser_tool.py install
launch starts Chromium as a detached process with --remote-debugging-port=9222~/.browser-tool/profile/ — logins survive across sessionsBT="python3 ~/.qwen/skills/browser/browser_tool.py"
# Launch (NOT background — it detaches automatically)
$BT launch # Playwright
$BT launch --patchright # Anti-detection mode
$BT launch --connect 9222 # Attach to existing Chrome
# Navigation & interaction
$BT navigate "https://example.com"
$BT click "button.submit"
$BT type "input[name=email]" "[email protected]"
$BT type "input[name=email]" "[email protected]" --clear
# Observation
$BT snapshot # accessibility tree — structured text, token-efficient
$BT snapshot --selector "main" # scoped to a section
$BT screenshot # saves /tmp/browser_screenshots/latest.png
$BT screenshot --name "step1" # saves /tmp/browser_screenshots/step1.png
$BT screenshot --full # full page
$BT html # get full page HTML
$BT html --selector "div.main" # get element HTML
$BT evaluate "document.title" # run JS
# Waiting
$BT wait --selector "div.loaded" --timeout 15
# Management
$BT pages # list tabs
$BT status # check if running
$BT close # kill browser
launch before any other commandsnapshot first — it's faster and more accurate than screenshots