browser_act
Execute browser actions like clicks, typing, navigation, and verification in one call, batching multiple ops for efficient automation.
Instructions
Execute one or more ops in order, then return a delta observation.
Batch ops into a single call — each call is a round trip.
op fields click ref (ref may be "e12", or "e12" of a combobox to open it) type ref, text, [clear=true], [submit=false] select ref, value (option value or label) toggle ref, [state] (checkbox/radio/switch; no state = flip) hover ref upload ref, path | paths[] keys key ("Enter", "Meta+A", "ArrowDown") | keys[] scroll [dir=down|up|left|right], [amount=600], [ref] nav url back | forward | reload wait [ms=500] wait_for_ref ref, [timeout_ms=8000] wait_for_text text, [timeout_ms=8000] wait_for_load [timeout_ms=20000] screenshot [path], [full=false], [format=jpeg] (path names a file in the shots dir) tab action=list|new|switch|close, [index], [url] eval js (only when JEVMCP_ALLOW_JS=1)
Actions matching the confirmation rules (pay, delete account, …) return
needs_confirmation; re-send that op with "confirm": true to proceed. That
covers every op that clicks, not only the one named click -- toggle
presses the control too -- and the role it gates on is read from the
element the server observed, never from the op.
A bare single character in keys is text, not a key press -- it goes into
whatever has focus -- so it is refused (blocked_by_policy) on a field whose
value must not leave the page rather than confirmed. Use type with that
field's ref, which asks for "confirm": true and records {{secret}}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | ||
| dry_run | No | ||
| session | No | default | |
| observe_after | No | ||
| stop_on_error | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |