> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudcruise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Input Select

> Select options from dropdown menus

The **Input Select** node selects options from dropdown menus, select elements, and other selection controls.

Native HTML `<select>` elements cannot be automated with `STATIC` Click nodes. Browsers render their option lists as OS-level controls that cannot be actuated through HTML. The Input Select node handles this by programmatically setting the selected option and dispatching the appropriate change events. It also supports Select2 and similar JavaScript-based dropdown libraries.

The node uses a multi-level matching strategy: it first tries exact value matching, then case-insensitive text matching, then partial text matching, and finally LLM-based fuzzy matching when enabled. This makes it resilient to minor variations in option text and handles cases where options are dynamically loaded after the page renders.

## Parameters

| Parameter     | Type    | Required | Description                                                       |
| ------------- | ------- | -------- | ----------------------------------------------------------------- |
| `value`       | string  | No       | The value or text of the option to select                         |
| `selector`    | string  | No       | XPath selector for the select element                             |
| `prompt`      | string  | No       | Natural language description of the selection (for LLM execution) |
| `wait_time`   | number  | No       | Maximum time (ms) to wait for the element. Default: 15000         |
| `fuzzy_match` | boolean | No       | If true, use fuzzy matching for option values. Default: false     |

## Examples

### Basic Selection

Select an option from a dropdown:

```json theme={null}
{
  "id": "abc123",
  "name": "Select country",
  "action": "INPUT_SELECT",
  "parameters": {
    "selector": "//select[@id='country']",
    "value": "United States"
  }
}
```

### Using Input Variables

Select a dynamic value:

```json theme={null}
{
  "id": "abc123",
  "name": "Select state",
  "action": "INPUT_SELECT",
  "parameters": {
    "selector": "//select[@name='state']",
    "value": "{{context.inputs.state}}"
  }
}
```

### Fuzzy Matching

Use fuzzy matching when option text may vary slightly:

```json theme={null}
{
  "id": "abc123",
  "name": "Select appointment type",
  "action": "INPUT_SELECT",
  "parameters": {
    "selector": "//select[@id='appointment-type']",
    "value": "{{context.inputs.appointment_type}}",
    "fuzzy_match": true
  }
}
```

This is useful when the input value is "New Patient" but the dropdown option might be "New Patient Visit" or "New Patient Appointment".

## Notes

* The node works with native HTML `<select>` elements and many custom dropdown implementations
* Use `fuzzy_match` when dealing with dynamic or inconsistent option values
* For complex custom dropdowns, you may need to combine Click and Input Text nodes instead
