Modern QA2026Message Format — tiles
Log inJoin
110 / 168 · 01 Agent Skills for Browser Automation · WebDriver BiDi Protocol Overview← prev⊞ allnext →☰ Read as one page

15.2Message Format

All communication is JSON over WebSocket.

Client → Browser (Commands)

{
  "id": 1,
  "method": "browsingContext.navigate",
  "params": {
    "context": "context-id-123",
    "url": "https://example.com",
    "wait": "complete"
  }
}

Browser → Client (Responses)

{
  "id": 1,
  "type": "success",
  "result": {
    "navigation": "nav-id-456",
    "url": "https://example.com"
  }
}

Browser → Client (Events — Unsolicited)

{
  "method": "log.entryAdded",
  "params": {
    "level": "error",
    "text": "Uncaught TypeError: Cannot read property 'foo' of undefined",
    "timestamp": 1707500000000
  }
}

Events are pushed by the browser without the client asking — this is the "bidirectional" part.