> For the complete documentation index, see [llms.txt](https://docs.flowstem.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowstem.app/commands/page-interactions.md).

# Page interactions

Page interaction commands act on elements in the current automation tab. Select the target visually when possible and test it on the same kind of page the full workflow will use.

## Click

Clicks one matching element once.

* **Configure:** Element selector and whether the element must be visible or only present.
* **Use it for:** Buttons, links, menu items, and other clickable controls.
* **Example:** Click the **Search** button after filling a form.

## Double Click

Clicks one matching element twice in quick succession.

* **Configure:** Element selector and visibility requirement.
* **Use it for:** Interfaces that open or edit an item only after a double-click.
* **Example:** Double-click a row to open its details.

## Click & Hold

Presses and holds the pointer on an element for a chosen duration, then releases it.

* **Configure:** Element selector, hold duration, and visibility requirement.
* **Use it for:** Press-and-hold controls or interfaces that reveal an action after a delay.
* **Example:** Hold a recording button for two seconds.

## Drag & Drop

Drags one element and releases it on another element.

* **Configure:** Source selector, target selector, and visibility requirement.
* **Use it for:** Kanban cards, sortable lists, and drop zones.
* **Example:** Drag a task card into the **Completed** column.

## Type

Types text into an input, text area, or editable page element.

* **Configure:** Element selector, text, **Clear first**, and visibility requirement.
* **Variables:** The text can include values saved by earlier commands.
* **Example:** Type `$email` into an email field after clearing its current value.

## Clear Field

Removes the current value from an input, text area, or editable page element.

* **Configure:** Element selector and visibility requirement.
* **Use it for:** Resetting a field before another command types a new value.
* **Example:** Clear a search box before entering the next search term.

## Checkbox

Sets a checkbox to a specific checked or unchecked state. It does not simply toggle the current state.

* **Configure:** Element selector, desired checked state, and visibility requirement.
* **Use it for:** Forms where the final state matters even if the starting state varies.
* **Example:** Ensure **Accept terms** is checked.

## Press Key

Sends a key or keyboard combination to the page or to a selected element.

* **Configure:** Optional element selector and the key combination.
* **Use it for:** Enter, Escape, Tab, arrow keys, and shortcuts.
* **Example:** Send `Enter` after typing a search query.

## Scroll

Smoothly scrolls the page or a selected scrollable area toward a chosen position.

* **Configure:** Target the page or an element and choose the finishing position.
* **Use it for:** Reaching content below the fold or loading content that appears while scrolling.
* **Example:** Scroll a results panel to the bottom.

## Random Scroll

Scrolls with varied movement to a selected final position.

* **Configure:** Page or element target, speed, and final position: top, middle, or bottom.
* **Use it for:** Pages where a less uniform scroll pattern is useful.
* **Example:** Scroll through a long feed at medium speed and finish near the bottom.

## Hover

Moves the pointer over an element and keeps it there for a chosen duration.

* **Configure:** Element selector, hover duration, and visibility requirement.
* **Use it for:** Menus, tooltips, previews, and controls revealed on hover.
* **Example:** Hover over **Products** before clicking a submenu item.

## Dropdown

Chooses an option in a standard HTML dropdown.

* **Configure:** Dropdown selector, selection method, option value, and visibility requirement.
* **Selection methods:** Match the option by value, visible label, or numerical index.
* **Example:** Select the option whose label is **Japan**.

## Date & Time Field

Sets a date or date range in a native or supported custom date picker.

* **Configure:** Field selector, single-date or range mode, start value, optional end value, and visibility requirement.
* **Variables:** Date values can come from earlier Date & Time or Transform Date commands.
* **Example:** Set the start date to `$today` and the end date to `$next_week`.

## Select File

Selects a local file for a website file-upload field.

* **Configure:** File input selector, local file path, and visibility requirement.
* **Use it for:** Upload forms that use an HTML file input.
* **Example:** Select a generated CSV file for import.

{% hint style="warning" %}
The file must exist on the computer running Flowstem. A website may still reject the file because of its type, size, or own validation rules.
{% endhint %}

## Dialogs

Accepts or dismisses the next native browser alert, confirmation, or prompt.

* **Configure:** Accept or dismiss, plus optional text for a prompt dialog.
* **Use it for:** Browser dialogs created with `alert`, `confirm`, or `prompt`.
* **Example:** Accept a deletion confirmation or enter a value into a prompt.

Set this command before the action that opens the dialog when the page requires Flowstem to prepare the response in advance.
