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

# selectOption(values, \[options])

> Warning
> 
> Use [`locator.selectOption(values[, options])`](/docs/k6/latest/javascript-api/k6-browser/locator/selectoption/) instead.

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. 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<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 = await page.$('#numbers-options');
  await options.selectOption('three');

  await page.close();
}
```
