***
title: Stagehand Locator
description: Complete Locator method reference for the Stagehand driver.
------------------------------------------------------------------------
All `Locator` methods available when using the **Stagehand** driver.
Access via `runtime.page.locator(...)` after launching a Stagehand runtime.
Every method below is a remote call. The SDK translates it into a structured step sent to a single endpoint:
```
POST /v1/workspaces/{workspaceId}/execute
```
```json
{
"runtime": "my-browser",
"steps": [
{
"call": "locator.goto",
"args": ["https://example.com"]
}
]
}
```
The `call` field maps directly to the method name. `args` is a JSON array of the method's arguments. You can batch multiple steps in one request.
## Actions
### click(options?)
Click the element at its visual center.
The method:
1. Scrolls element into view
2. Gets element geometry
3. Moves mouse to center
4. Dispatches mousePressed and mouseReleased events
Options include:
* button: 'left' | 'right' | 'middle' (default: 'left')
* clickCount: Number of clicks (default: 1)
```ts
await locator.click();
```
| Parameter | Type | Required | Description |
| --------- | ------------------------------ | -------- | ----------- |
| `options` | `StagehandLocatorClickOptions` | No | — |
[Upstream docs](https://docs.stagehand.dev/references/locator#click)
***
### fill(value)
Fill an input, textarea, or contenteditable element.
The method intelligently handles different input types:
* Uses native value setter for special inputs (date, number, etc.)
* Types text character-by-character for regular inputs
* Clears existing content before filling
```ts
await locator.fill("user@example.com");
```
| Parameter | Type | Required | Description |
| --------- | -------- | -------- | ---------------------------------------- |
| `value` | `string` | Yes | The text value to fill into the element. |
[Upstream docs](https://docs.stagehand.dev/references/locator#fill)
***
### type(text, options?)
Type text into the element with optional delay between keystrokes.
If delay is not specified, uses Input.insertText for efficiency.
```ts
await locator.type("Hello");
```
| Parameter | Type | Required | Description |
| --------- | ----------------------------- | -------- | ----------------- |
| `text` | `string` | Yes | The text to type. |
| `options` | `StagehandLocatorTypeOptions` | No | — |
[Upstream docs](https://docs.stagehand.dev/references/locator#type)
***
### hover()
Move the mouse cursor to the element's center without clicking.
Scrolls the element into view and dispatches a mouse move event.
```ts
await locator.hover();
```
[Upstream docs](https://docs.stagehand.dev/references/locator#hover)
***
### selectOption(values)
Select one or more options in a \