Vision Tools (6)¶
Enable with --caps=vision.
Vision tools provide pixel-precise mouse control via raw screen coordinates. Unlike DOM-based clicks (which use CSS selectors), vision tools operate on x,y coordinates — useful when elements don't have stable selectors, when interacting with canvas/WebGL, or when the LLM has identified a location from a screenshot.
Coordinate-based mouse operations for pixel-precise interaction.
| Tool | Parameters | Description |
|---|---|---|
wavexis_mouse_move |
session_id, x, y |
Move the mouse cursor to coordinates (x, y). Does not click. Triggers mousemove event. |
wavexis_mouse_down |
session_id, x, y, button |
Press and hold a mouse button at coordinates. button: left (default), right, middle. |
wavexis_mouse_up |
session_id, x, y, button |
Release a mouse button at coordinates. |
wavexis_mouse_click_xy |
session_id, x, y, button, click_count |
Click at specific coordinates. click_count: 1 (default) or 2 (double-click). |
wavexis_mouse_double_click_xy |
session_id, x, y |
Double-click at coordinates. Convenience wrapper around mouse_click_xy with click_count=2. |
Click a canvas element
wavexis_session_open(backend="cdp")
wavexis_navigate(session_id="abc-123", url="https://example.com/canvas-app")
wavexis_screenshot(session_id="abc-123")
# LLM identifies a button at (320, 180) from the screenshot
wavexis_mouse_click_xy(session_id="abc-123", x=320, y=180)
wavexis_session_close(session_id="abc-123")
When to use vision vs DOM tools
Use DOM tools (wavexis_click, wavexis_fill) when you have a CSS selector. They auto-wait for elements and handle edge cases.
Use vision tools when:
- Elements are inside a <canvas> or WebGL context (no DOM nodes)
- The page uses shadow DOM that's hard to pierce
- The LLM has identified a location from a screenshot
- You need pixel-precise positioning