Skip to main content

Click

Taps — or presses and holds — one point on the screen.

Click is the node that actually touches the device. Everything else in a flow exists to work out where and when this node should fire.

Purpose

Sends a touch to the device: a normal tap, or a press-and-hold. Use it to press buttons, open menus, or hold a drag handle.

The tap target can be a rectangle you draw, a fixed point, or the centre of what a Find Image node just matched — so you can tap exactly where an image was found, without ever writing a coordinate into your flow.

When to use it

  • Pressing any on-screen button or control.
  • Tapping something a Find Image node just located.
  • Long-pressing a drag handle or opening a context menu.
  • Dismissing a popup by tapping its close button.

When not to use it

  • To press Back, Home, or Enter — those are system keys with no on-screen button. Use Key Press.
  • To type — use Input Text.
  • To scroll or drag across the screen — use Swipe.
  • To wait for a button to appear — Click does not wait or search. Put a Find Image in front of it.

Requirements

The node needs a resolvable target at run time: a Click Region, a fixed point, or a live Find Image result. A Find Image source only resolves after that node has run on this path and matched.

How it runs

The offset shifts the final tap position only. The source coordinate — the Find Image result, the region, the point — is never modified.

Click does not wait for the screen to react

The node routes Success as soon as the touch command is dispatched. It has no idea whether anything happened. To act on the result, chain a Wait or, better, a detection node.

Settings

SettingTypeRangeDefaultWhat it does
Coordinate sourcechoicemanual, findImageResultmanualTap a region/point you defined, or the clickable centre of an upstream Find Image node
Click Regionrectanglepercentage of screenThe rectangle to tap. The runtime taps a random point inside it on every run
Click Offset — Leftinteger0–5000 px0Shifts the final tap left
Click Offset — Rightinteger0–5000 px0Shifts the final tap right
Click Offset — Upinteger0–5000 px0Shifts the final tap up
Click Offset — Downinteger0–5000 px0Shifts the final tap down
Tap Countinteger1 or 211 = single tap, 2 = double-tap
Hold Durationinteger0–5000 ms00 = normal tap; above 0 = press-and-hold
Input modechoiceadb, nativeflow defaultHow the touch is delivered

Why the region taps a random point

A Click Region does not tap its centre — it picks a new random point inside the rectangle each run. Repeated runs therefore never hammer the exact same pixel.

Keep the rectangle tight around the control. A large region means a random point can land outside the actual button.

Tap Count and Hold Duration interact

A double-tap (tapCount: 2) is two quick natural taps and ignores Hold Duration — it is not a press-and-hold repeated twice.

Deprecated: Wait After Click

Older flows may carry a waitAfterMs value. It is ignored by the runtime and no longer shown in the editor. Chain a Wait node for a post-click delay.

Ports

PortTaken whenRequired
SuccessThe touch command was dispatchedYes
FailureThe target could not be resolved — invalid or off-screen point, or a Find Image result not available on this pathNo
TimeoutThe input command did not complete in timeNo
CancelledThe run was stopped while the click was in flightNo — never followed
FatalThe device is disconnected, or an unexpected error occurredNo — never followed

Basic example

Tap a fixed control:

  • Coordinate source: Manual
  • Click Region: drawn tightly around the Settings gear
  • Hold Duration: 0

Realistic example — tap what you found

The standard two-node idiom, and the one you will use most:

The Click never contains a coordinate. If the button moves, the Find Image still locates it and the Click still lands.

Advanced example — offset to hit a neighbour

You want to tap the label underneath a matched icon, but only the icon is distinctive enough to use as a template.

  • Coordinate source: the Find Image result for the icon
  • Click Offset — Down: 40

The tap lands 40 input pixels below the match. One template, two targets, no second detection.

Turn the same node into a long press by setting Hold Duration to 800.

Best practices

  • Prefer a Find Image source over a fixed region wherever the target can move. It survives layout changes.
  • Keep Click Regions tight. The random point must always land on the control.
  • Never assume the tap worked. Follow it with a detection node that confirms the new screen state.
  • Use the offset instead of a second template when the real target sits at a fixed distance from something distinctive.
  • Add a Wait after taps that trigger animations, or the next detection reads the old frame.

Performance notes

  • Click is one of the cheapest nodes — it dispatches an input command and returns. It does not capture or analyse a frame.
  • The cost that matters is what you put around it: a Wait after every click adds up fast across a long flow. Where possible, wait on a detection result instead of a fixed delay.
  • Retry with backoff on a Click multiplies its worst-case time. Keep maxAttempts at 2–3.

Memory notes

  • Click holds no frame and caches nothing. Its memory footprint is negligible.
  • With captureFailureScreenshots enabled at flow level, a failing Click writes a screenshot artifact per failure — real disk I/O in a long run.

Common mistakes

MistakeWhat happensFix
Find Image source used before that node ranExits Failure — no result on this pathPut the Find Image before the Click, on the same path
Click Region too largeRandom point misses the controlTighten the rectangle
Expecting the screen to have settledThe node returns the instant the tap is sentChain a Wait or a detection node
Using Click to press BackThere is nothing on screen to tapUse Key Press with BACK
Relying on waitAfterMs from an old flowIgnored by the runtimeAdd a real Wait node

Troubleshooting

The Click exits Failure every time. Its coordinate source is a Find Image node that did not run on this path, or did not match. Check the wiring — the Find Image must be upstream on the same branch.

The tap lands slightly off the button. The Click Region is too large and the random point is drifting. Tighten it, or switch to a Find Image source with an offset.

The tap works but nothing happens on screen. The tap probably landed before the screen was interactive. Add a detection node before the Click that confirms the target is actually present.

The long press is not registering. Check Tap Count — a double-tap ignores Hold Duration. Set Tap Count to 1.

FAQ

Does the Click Region tap its centre? No — a random point inside it, re-picked each run.

Can I click a coordinate stored in a variable? Bind the Find Image result to variables and use them, or use a Find Image source directly. Fixed points are legacy and resolution-dependent.

Is the offset in screen pixels or percent? Input pixels. The source coordinate stays untouched; only the final tap moves.

What is the maximum hold duration? 5000 ms.