Keyboard Node
The Keyboard node simulates human keystrokes—single keys, shortcuts like Ctrl+S, function keys (Enter, Esc), or continuous typing. Use it for login flows, form filling, or quick commands, often chained with mouse and image-recognition nodes to build complete interactions.
Parameter Structure
KeyBoard
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✔️ | Node name, e.g. fill-account or press-enter. |
duration | number | Key press duration in ms, useful for long press or rhythm control. | |
retry | number | ✔️ | Automatic retry attempts after failure. |
interval | number | ✔️ | Retry interval in ms to avoid spamming the UI. |
params | KeyBoardParams | ✔️ | Core keyboard configuration. |
conditions | Conditions | Guards combining exist/not_exist/condition. | |
err_return | boolean | When true, stop immediately on failure (defaults to pipeline policy). |
KeyBoardParams
| Field | Type | Required | Description |
|---|---|---|---|
mode | KeyBoardKeyMode | Input mode such as Down, Up, Click, or Type (depending on the product definition). | |
key | KeyCode | Physical key to trigger, e.g. A, Enter, Ctrl. | |
value | string | Text to type; leave empty when only firing a key event. |
YAML Examples
- type: keyboard
name: fill-account
duration: 120
retry: 2
interval: 500
params:
mode: Click
key: "A"
conditions:
exist: ${image.input.png}
err_return: true- type: keyboard
name: input-order-id
retry: 1
interval: 200
params:
mode: Type
value: "${payload.order_id}"The first example taps A, includes retry/interval/conditions, and fails fast on error.
The second example types a dynamic order ID pulled from the context.
Usage Tips
- Use
valuefor long strings to avoid per-character nodes. - Build complex shortcuts via multiple nodes (e.g.
Ctrl+A=Down: Ctrl→Click: A→Up: Ctrl) for clarity. - Pair with image recognition and mouse nodes: detect the input box → focus it → type, ensuring reliable sequences.
Last updated on: