Skip to main content

Action Reference

This page documents every action you can record or manually add to a web automation script — what it does, what identifier and value it expects, and a worked example.

Verification and web-scraping actions have their own dedicated page because their parameters are richer (structured JSON, not a single value) — see Verification & Web Scraping Actions.

Fields every action can have​

Regardless of type, an action can carry these fields (see Script Management for how to edit them):

FieldMeaning
Identifier(s)Priority-ordered element selectors. The engine tries each one in order until it finds the element. Most actions need this; a few (launch, wait with a fixed delay) don't.
ValueMeaning depends on the action — see each action below.
OptionalIf the element/identifier can't be resolved, the script continues instead of failing.
Wait BeforeDelay, in milliseconds, before this action runs.
TimeoutMaximum time to wait for the element before giving up.
IframeIf the element lives inside an iframe, the chain of iframe identifiers needed to reach it. Available for element actions and conditional-check actions.

launch​

Opens a URL in the browser. Always the first action in a recorded script, and re-inserted automatically whenever you navigate to a new page while recording.

  • Identifier: not needed.
  • Value: the URL to open, e.g. https://app.example.com/login.

Clicking​

click​

Clicks the identified element. The most common action in any recording.

  • Identifier: required.
  • Value: not used.

Example: click the Submit button — identifier resolves to the button, no value.


Typing & Keys​

input​

Types text into a field. This is what recording produces when you type into an input or textarea.

  • Identifier: required (the field).
  • Value: the text to type.

Example: type jane@example.com into the email field.

fill, type, and change behave identically to input and exist as alternate names — use whichever your workflow already calls them.

keypress​

Presses a single key (or a key combination) on the identified element, or on the page if no element is given.

  • Identifier: the field to send the key to (recommended — see note).
  • Value: the key name, e.g. Enter, Tab, Escape, or a combination like Control+A, Shift+Tab.

Example: press Enter after typing a search query to submit the search.

keysequence​

Types a value character-by-character, as if a real person were typing it — useful for fields with JavaScript that reacts to every keystroke (live search, input masks, autocomplete).

  • Identifier: required — a keysequence without an identifier does not behave as a sequence.
  • Value: the full string to type, e.g. product name.

Selecting & Toggling​

select​

Chooses an option from a standard HTML dropdown (<select>).

  • Identifier: required (the dropdown).
  • Value: the option's underlying value, not its displayed text. Check the option in DevTools if unsure (e.g. a country dropdown showing "United States" might have the underlying value US).

selectdropdown is the same action under another name. Neither works against custom-styled dropdown widgets (Select2, Chosen, and similar) — for those, record the actual clicks on the widget instead.

Example: value US selects the option whose HTML is <option value="US">United States</option>.

checkbox​

Sets a checkbox to checked or unchecked.

  • Identifier: required (the checkbox).
  • Value: must be exactly true or false (any other value fails the action).

Example: value true checks "Remember me".

radio​

Selects a specific radio button.

  • Identifier: required, and must resolve to that specific radio button (not the whole group) — this is what recording captures automatically.
  • Value: recorded for reference but doesn't affect which option gets picked; the identifier alone determines that.

Example: identifier resolves to the "Credit Card" radio input within a payment-method group.

datepicker​

Enters a date/time value into an HTML5 date-type input.

  • Identifier: required.
  • Value: format depends on the input type: date → YYYY-MM-DD, time → HH:mm, datetime-local → YYYY-MM-DDTHH:mm, month → YYYY-MM, week → YYYY-Www.

Example: value 2026-08-15 for a date input.


Waiting​

wait​

Pauses execution — either for a fixed duration, or until a specific page condition is met. A wait never fails or stops your script — if a strategy's condition never becomes true, it logs it and falls back to waiting out the remaining timeout, then continues to the next action.

Fixed delay — set the value to a plain number of seconds:

ValueBehavior
3Waits 3 seconds, then continues.

Strategy-based wait — wait for a specific condition instead of a fixed time:

ParameterTypeRequiredDefaultDescription
strategystringNonetworkidlenetworkidle, domstable, networkresponse, jsexpression, or element (see below).
timeoutnumberNo10Maximum seconds to wait for the condition before giving up.
patternstringOnly for networkresponse--Substring to match against a request URL.
expressionstringOnly for jsexpression--JavaScript expression evaluated repeatedly until it's truthy.
selectorstringOnly for element--Selector for the element to wait for.

Strategies:

StrategyWaits until…
networkidleThe page has no in-flight network requests for a short period.
domstableThe page's DOM stops changing (no mutations for ~0.5s).
networkresponseA network request whose URL contains pattern completes.
jsexpressionexpression evaluates to a truthy value, e.g. document.readyState === 'complete'.
elementAn element matching selector becomes visible, e.g. #content .loaded.

Example: after submitting a search, wait for network idle before verifying results:

{ "strategy": "networkidle", "timeout": 10 }

Page Interaction​

hover​

Hovers the mouse over the identified element — useful for revealing menus that only appear on hover, before clicking a submenu item.

  • Identifier: required.
  • Value: not used.

Example: hover over a nav menu item to reveal its dropdown, then a following click selects the submenu link.

scroll​

Scrolls the page toward the identified element until it's in view. It does not take a scroll position or direction — it always scrolls to reveal that specific element.

  • Identifier: required.
  • Value: not used.

Example: scroll to a footer link before clicking it, on a page that lazy-loads content as you scroll.

close​

Closes the current browser tab/page. Rarely needed — mainly useful at the very end of a multi-tab flow.

  • Identifier / Value: not needed.

Data Capture​

gettext​

Captures the text content of an element into a variable for use in later actions.

  • Identifier: required (the element to read).
  • Capture variable: name the output variable, and optionally apply a processing rule (substring, trim, replace, regex) — see Capture Variables.

Example: capture an order confirmation number into {{orderId}}, then reference it in a later verifydata assertion or an email.

extracttable​

Extracts an entire HTML table into structured data — including tables with pagination (it automatically tries a "Show All" control first, then falls back to clicking through "Next" pages if present).

  • Identifier: required (the table element).
  • Capture variable: name for the output (defaults to execResult if not set).
  • Output: a JSON array — one entry per row, each row an array of { columnHeader, columnValue } objects.

Example: extract a paginated orders table into {{ordersData}} for later verification or export.


Authentication​

totp​

Generates a time-based one-time password from a secret key and fills it directly into the identified field — fully automatic, no pause.

  • Identifier: required (the OTP input field).
  • Value: the Base32 TOTP secret key (the same secret you'd scan into an authenticator app).

Example: value JBSWY3DPEHPK3PXP generates the current 6-digit code and types it into the MFA field.

setotp​

Pauses execution and prompts whoever is running the script (or watching the Live Monitor) to type in a one-time code — for OTPs delivered by SMS, email, or an app you can't automate directly.

  • Identifier: required (the OTP input field the code will be typed into).
  • Value: not used.
  • Waits up to 60 seconds for the code to be submitted before failing.

getauthnumber​

Reads a number displayed on the page (common in "approve this login on your phone" flows) and shows it to whoever is running the script, then waits for the page to change — treated as a sign that the login was approved elsewhere.

  • Identifier: required (the element displaying the number).
  • Value: not used.
  • Waits up to 60 seconds for the page to change.
note

The retrieved number is displayed for the person running the script but is not available afterward via {{variableName}} — use gettext instead if you need to reuse the number in a later action.


Conditional Logic​

conditionalcheck and endcondition bracket a block of actions that only run when a condition is met — see Conditional Blocks for the full recording and editing workflow. In short:

  • A conditionalcheck action carries a conditionType (IF, IF-NOT, or MULTI-IF) and one or more conditions, each with its own identifier (and iframe chain, if the condition's element is inside an iframe).
  • Every action between it and the matching endcondition only executes if the condition passed.

Example: IF an element with identifier id: promo-banner exists on the page, click a "Dismiss" button; otherwise skip straight past it to the next step after endcondition.

Next Steps​