Interaction actions represent user interactions with the browser: clicking buttons, filling forms, navigating pages, and more.
Available Actions
| Action | Purpose |
|---|
click_element | Click buttons, links, elements |
input_text | Type into text fields |
select_option | Select from dropdowns |
check | Check/uncheck checkboxes |
upload_file | Upload files |
go_to_url | Navigate to a URL |
go_back | Go back in history |
close_tabs_until | Close tabs until condition met |
download_url_as_pdf | Save page as PDF |
key_press | Press keyboard keys |
agentic_task | AI agent for complex tasks |
close_overlay_popup | Dismiss popups/modals |
Common Properties
All element-targeting actions share these properties:
| Property | Type | Default | Description |
|---|
command | str | None | None | Playwright locator (e.g., get_by_role("button")) |
xpath | str | None | None | XPath selector (alternative to command) |
prompt_instructions | str | Required | Description for AI fallback |
skip_prompt | bool | False | Skip AI if locator fails (for optional elements) |
assert_locator_presence | bool | False | Skip action if element doesn’t exist |
max_tries | int | 10 | Maximum retry attempts |
max_timeout_seconds_per_try | float | 1.0 | Timeout per attempt |
Use command for deterministic element finding (fast, no LLM tokens). The AI uses prompt_instructions as fallback when locators fail.
Click Element
Click Properties
| Property | Type | Default | Description |
|---|
double_click | bool | False | Double-click instead of single |
expect_download | bool | False | Click triggers file download |
download_filename | str | None | Auto-generated | Filename for download |
Examples
Double-click:
Download trigger:
Input Text
| Property | Type | Default | Description |
|---|
input_text | str | None | None | Text to enter (supports variables) |
fill_or_type | "fill" | "type" | "fill" | How to enter text |
is_slider | bool | False | Element is a slider |
press_enter | bool | False | Press Enter after input |
Fill vs Type
| Mode | Behavior | Use When |
|---|
fill | Sets value instantly | Standard form fields |
type | Types character by character | Autocomplete, search with suggestions |
Autocomplete example:
Slider example:
If input_text references an empty variable, the action is skipped automatically.
Select Option
Select Properties
| Property | Type | Default | Description |
|---|
select_values | list[str] | Required | Values to select |
expect_download | bool | False | Selection triggers download |
download_filename | str | None | Auto-generated | Filename for download |
Optexity supports fuzzy matching for select values—“United States” will match “UNITED STATES OF AMERICA”.
Check (Checkbox/Radio)
Navigation Actions
Go to URL
| Property | Type | Default | Description |
|---|
url | str | Required | URL to navigate to |
new_tab | bool | False | Open in new tab |
Go Back
Close Tabs Until
Close tabs until reaching a specific URL or tab index:
| Property | Type | Default | Description |
|---|
matching_url | str | None | None | Stop at this URL |
tab_index | int | None | None | Stop at this tab index (0-based) |
File Operations
Upload File
The file source must be exactly one of file_path (local file) or file_url (public http(s):// URL — downloaded to a temp file just before upload, then cleaned up).
| Property | Type | Description |
|---|
file_path | str | None | Absolute or relative local path |
file_url | str | None | Public http:// or https:// URL; downloaded with a 120s timeout. If the download fails (network error or non-2xx response), the automation fails. |
Upload from a local path:
Upload from a public URL:
Download Page as PDF
Capture the current page or a specific URL as PDF:
| Property | Type | Default | Description |
|---|
download_filename | str | None | Auto-generated | Filename for PDF |
url | str | None | Current page | URL to download |
Handling New Tabs
When an action opens a new tab, set expect_new_tab on the action node:
This automatically waits up to 10 seconds for the new tab and switches to it.
Retry Configuration
For slow-loading elements, increase retry attempts:
Increase max_tries rather than timeout per try. This finds elements faster when they appear while still allowing for slow pages.