Files
cypress/docs/source/api/commands/select.md

3.3 KiB

title, comments
title comments
select false

Select an <option> within a <select> DOM element.

Syntax

.select(value)
.select(values)
.select(value, options)
.select(values, options)

Usage

.select() requires being chained off another cy command that yields a <select> DOM element.

{% fa fa-check-circle green %} Valid Usage

cy.get('select').select('user-1') // Select the 'user-1' option

{% fa fa-exclamation-triangle red %} Invalid Usage

cy.select('John Adams')  // Errors, cannot be chained off 'cy'
cy.location().select()   // Errors, 'location' does not yield <select> element

Arguments

{% fa fa-angle-right %} value (String)

The value or text content of the <option> to be selected.

{% fa fa-angle-right %} values (Array)

An array of values or text contents of the <option>s to be selected.

{% fa fa-angle-right %} options (Object)

Pass in an options object to change the default behavior of .select().

Option Default Notes
force false Forces select, disables error checking prior to select
interval 50 Interval which to retry a select
log true Whether to display command in Command Log
timeout {% url defaultCommandTimeout configuration#Timeouts %} Total time to retry the select

Yields

.select() yields the new DOM elements selected.

Timeout

.select() will continue to select the options for the duration of the {% url defaultCommandTimeout configuration#Timeouts %}.

Examples

Text Content

Select the option with the text apples

<select>
  <option value="456">apples</option>
  <option value="457">oranges</option>
  <option value="458">bananas</option>
</select>
// yields <option value="456">apples</option>
cy.get('select').select('apples')

Value

Select the option with the value "456"

<select>
  <option value="456">apples</option>
  <option value="457">oranges</option>
  <option value="458">bananas</option>
</select>
// yields <option value="456">apples</option>
cy.get('select').select('456')

Select multiple options

Select the options with the texts "apples" and "bananas"

<select multiple>
  <option value="456">apples</option>
  <option value="457">oranges</option>
  <option value="458">bananas</option>
</select>
cy.get('select').select(['apples', 'bananas'])

Select the options with the values "456" and "457"

<select multiple>
  <option value="456">apples</option>
  <option value="457">oranges</option>
  <option value="458">bananas</option>
</select>
cy.get('select').select(['456', '457'])

Command Log

Select the option with the text "Homer Simpson"

cy.get('select').select('Homer Simpson')

The commands above will display in the command log as:

Command Log

When clicking on select within the command log, the console outputs the following:

Console Log

See also

  • {% url .click() click %}