---
title: "selectOption(values, [options]) | Grafana k6 documentation"
description: "Browser module: locator.selectOption method"
---

# selectOption(values, \[options])

Select one or more options which match the values.

Expand table

| Parameter           | Type                          | Default | Description                                                                                                                                                                                                                                                                       |
|---------------------|-------------------------------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| values              | string or string\[] or object | `''`    | If the `select` has the multiple attribute, all matching options are selected, otherwise only the first option matching one of the passed options is selected. String values are matching both values and labels. Object can be made up of keys with `value`, `label` or `index`. |
| options             | object                        | `null`  |                                                                                                                                                                                                                                                                                   |
| options.force       | boolean                       | `false` | Setting this to `true` will bypass the actionability checks (`visible`, `stable`, `enabled`).                                                                                                                                                                                     |
| options.noWaitAfter | boolean                       | `false` | If set to `true` and a navigation occurs from performing this action, it will not wait for it to complete.                                                                                                                                                                        |
| options.timeout     | number                        | `30000` | Maximum time in milliseconds. Pass `0` to disable the timeout. Default is overridden by the `setDefaultTimeout` option on [BrowserContext](/docs/k6/latest/javascript-api/k6-browser/browsercontext/) or [Page](/docs/k6/latest/javascript-api/k6-browser/page/).                 |

### Returns

Expand table

| Type                     | Description                                                               |
|--------------------------|---------------------------------------------------------------------------|
| `Promise<Array<string>>` | A Promise that fulfills with the selected options as an array of strings. |

### Example

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { browser } from 'k6/browser';

export const options = {
  scenarios: {
    browser: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

export default async function () {
  const page = await browser.newPage();
  await page.goto('https://test.k6.io/browser.php');
  const options = page.locator('#numbers-options');
  await options.selectOption('three');
}
```
