SDK Reference
OpenSteer Actions API Reference
Reference descriptor-aware action APIs including click, input, select, scroll, and upload for reliable AI browser automation.
Quick Answer
Actions APIs provide resilient descriptor-aware operations for click, input, select, scroll, and upload across changing page structures.
Descriptor-Aware Actions
All interaction methods resolve elements through the resolution chain:
- Persisted path for
description(if previously stored) elementcounter lookup in the live DOM- Explicit CSS
selector - Built-in LLM resolution (requires
description)
When steps 2--4 resolve and description is provided, the resolved path is
persisted for deterministic replay.
Mutating actions apply a best-effort post-action wait by default. Use
wait: false to disable or pass ActionWaitOptions to tune per call.
All interaction methods throw OpensteerActionError on failure.
click(options: ClickOptions): Promise<ActionResult>
await opensteer.click({ element: 3 })
await opensteer.click({ description: 'login-button' })
await opensteer.click({ selector: '#submit-btn', button: 'left' })
dblclick(options: ClickOptions): Promise<ActionResult>
Double-click an element.
rightclick(options: ClickOptions): Promise<ActionResult>
Right-click an element.
hover(options: HoverOptions): Promise<ActionResult>
await opensteer.hover({ description: 'profile-menu' })
await opensteer.hover({ element: 5, force: true })
input(options: InputOptions): Promise<ActionResult>
Fill or type text into an input element. By default, clears the field first
(clear: true).
await opensteer.input({ description: 'email', text: 'user@example.com' })
await opensteer.input({ element: 7, text: 'hello', clear: false, pressEnter: true })
select(options: SelectOptions): Promise<ActionResult>
Select a dropdown option by value, label, or index.
await opensteer.select({ description: 'country', value: 'US' })
await opensteer.select({ element: 12, label: 'United States' })
await opensteer.select({ element: 12, index: 0 })
scroll(options?: ScrollOptions): Promise<ActionResult>
Scroll the page or a specific element. Defaults to scrolling down by 600px on the page.
await opensteer.scroll()
await opensteer.scroll({ direction: 'down', amount: 1200 })
await opensteer.scroll({ description: 'results-list', direction: 'down' })
uploadFile(options: FileUploadOptions): Promise<ActionResult>
Set files on a file input element. Not supported in cloud mode.
await opensteer.uploadFile({ element: 4, paths: ['/path/to/file.pdf'] })
Covered Features
sdk:clicksdk:dblclicksdk:hoversdk:inputsdk:rightclicksdk:scrollsdk:selectsdk:uploadFile
