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):
| Field | Meaning |
|---|---|
| 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. |
| Value | Meaning depends on the action — see each action below. |
| Optional | If the element/identifier can't be resolved, the script continues instead of failing. |
| Wait Before | Delay, in milliseconds, before this action runs. |
| Timeout | Maximum time to wait for the element before giving up. |
| Iframe | If the element lives inside an iframe, the chain of iframe identifiers needed to reach it. Available for element actions and conditional-check actions. |
Navigation
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 likeControl+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
keysequencewithout 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
trueorfalse(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:
| Value | Behavior |
|---|---|
3 | Waits 3 seconds, then continues. |
Strategy-based wait — wait for a specific condition instead of a fixed time:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
strategy | string | No | networkidle | networkidle, domstable, networkresponse, jsexpression, or element (see below). |
timeout | number | No | 10 | Maximum seconds to wait for the condition before giving up. |
pattern | string | Only for networkresponse | -- | Substring to match against a request URL. |
expression | string | Only for jsexpression | -- | JavaScript expression evaluated repeatedly until it's truthy. |
selector | string | Only for element | -- | Selector for the element to wait for. |
Strategies:
| Strategy | Waits until… |
|---|---|
networkidle | The page has no in-flight network requests for a short period. |
domstable | The page's DOM stops changing (no mutations for ~0.5s). |
networkresponse | A network request whose URL contains pattern completes. |
jsexpression | expression evaluates to a truthy value, e.g. document.readyState === 'complete'. |
element | An 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
execResultif 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.
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
conditionalcheckaction carries aconditionType(IF,IF-NOT, orMULTI-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
endconditiononly 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
- Script Management — Edit actions, add conditions and variables
- Verification & Web Scraping Actions — Assert page state and extract structured data
- Recording Guide — Record a script from scratch