Living table. Update after each experiment with measured notes (snapshot size, multi-tab, attach model).
Tool
Attach model
Login / cookies
Observation
Multi-tab
Notes
Raw CDP (/json + WebSocket)
Lab Chrome with --remote-debugging-port
Lab user-data-dir
Accessibility.getFullAXTree (manual compacting)
Full Target.getTargets
Baseline for protocol truth. See experiments/01-cdp-ax-tree.
Playwright connectOverCDP
Same lab CDP endpoint
Lab profile
Locators + optional AX / aria snapshots
Good
Preferred high-level driver for harnesses. See experiments/02-playwright-cdp.
Playwright launched Chromium
Child process
Isolated ephemeral
Same as Playwright
Good
Fast CI-style tests; not user's Chrome.
agent-browser CLI
Daemon + CDP (or its own Chrome)
Dedicated / attach
Compact a11y + @eN
Check version notes
Best token UX for agents. See experiments/03-agent-browser-cli.
Extension (Quicker Connector)
MV3 ↔ Quicker host
User browser
Script / element ops; no native AX CDP
Native tabs API
Product path for logged-in tabs. Doc-only in this lab.
chrome.debugger (extension)
Attach one tab
User tab
Full CDP on that tab
One debuggee at a time
Hybrid research; sensitive permission; not default.
Need user's existing cookies / tabs?
├─ yes → Extension / qkrpc chrome tools
│ Need AX-quality snapshot on that tab?
│ ├─ yes → research chrome.debugger attach (careful) or ask user to use lab profile login
│ └─ no → OpenUrl / RunScript / element ops
└─ no → scripts/start-cdp.ps1
├─ Agent everyday loop → agent-browser (or Playwright MCP)
├─ Test harness / locators → Playwright connectOverCDP
└─ Protocol / AX measurement → raw CDP experiment
Observation quality (expected)
Rank
Approach
Why
1
agent-browser / Playwright MCP interactive snapshot
Token-optimized refs
2
Raw CDP AX + lab filter
Ground truth; more work
3
Extension a11y-lite content script
Approximation only
4
Full HTML / unlabeled screenshot
Avoid as default
Lab smoke status (2026-08-07)
Check
Command
Result
CDP up
pwsh ./scripts/start-cdp.ps1
Chrome/150 /json/version OK
Open + list
pwsh ./scripts/smoke.ps1
opens example.com, lists page targets
Raw AX compact
node experiments/01-cdp-ax-tree/fetch-ax.mjs
15 nodes → 2 compact lines (9.2 KB → 0.1 KB)
Playwright CDP
node experiments/02-playwright-cdp/connect.mjs
title + first link OK
agent-browser
agent-browser --cdp 9222 snapshot -i
heading @e1, link @e2 (CLI 0.27.0)