Agent Runtime
Status: Connected
Parsing documentation...
Extracted api references
Generating type definitions...
opensteeropensteer
Y Combinator logoBacked by Y Combinator.

The most comprehensive browser automation framework for AI

Enterprise-grade automation at scale.

Custom plans, unlimited concurrent sessions, dedicated proxies, and advanced support for teams that need more.

+ self-service sso
+ unlimited concurrent sessions
+ custom audit logs
+ advanced captcha bypass
+ dedicated support
view pricing

Simple, transparent pricing.

Start for free, upgrade when you need to scale. Everything you need to build robust AI agents.

SDK Reference

Actions

Descriptor-aware interaction methods.

All interaction methods resolve elements through the resolution chain. Mutating actions apply a post-action wait by default. Use wait: false to disable. All throw OpensteerActionError on failure.

click

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

dblclick(options: ClickOptions): Promise<ActionResult>

Double-click an element.

rightclick

rightclick(options: ClickOptions): Promise<ActionResult>

Right-click an element.

hover

hover(options: HoverOptions): Promise<ActionResult>

await opensteer.hover({ description: 'profile-menu' })
await opensteer.hover({ element: 5, force: true })

input

input(options: InputOptions): Promise<ActionResult>

Fill text into an input element. Clears the field first by default (clear: true).

await opensteer.input({ description: 'email', text: 'user@example.com' })
await opensteer.input({ element: 7, text: 'hello', clear: false, pressEnter: true })

select

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

scroll(options?: ScrollOptions): Promise<ActionResult>

Scroll the page or a specific element. Default: down by 600px.

await opensteer.scroll()
await opensteer.scroll({ direction: 'down', amount: 1200 })
await opensteer.scroll({ description: 'results-list', direction: 'down' })

uploadFile

uploadFile(options: FileUploadOptions): Promise<ActionResult>

Set files on a file input element. Local only — not supported in cloud mode.

await opensteer.uploadFile({ element: 4, paths: ['/path/to/file.pdf'] })