# selenium.webdriver.support.select

Classes

`Select`(webelement) | Constructor.

class selenium.webdriver.support.select.Select(webelement: WebElement)

  Constructor. A check is made that the given element is, indeed, a SELECT tag. If it is not, then an UnexpectedTagNameException is thrown.

  Args:

    - webelement - SELECT element to wrap

  Example:

    from selenium.webdriver.support.ui import Select

    Select(driver.find_element(By.TAG_NAME, “select”)).select_by_index(2)

  property options: List[WebElement]

    Returns a list of all options belonging to this select tag.

  property all_selected_options: List[WebElement]

    Returns a list of all selected options belonging to this select tag.

  property first_selected_option: WebElement

    The first selected option in this select tag (or the currently selected option in a normal select)

  select_by_value(value: str) → None

    Select all options that have a value matching the argument. That is, when given “foo” this would select an option like:

    <option value=”foo”>Bar</option>

    Args:

      - value - The value to match against

    throws NoSuchElementException If there is no option with specified value in SELECT

  select_by_index(index: int) → None

    Select the option at the given index. This is done by examining the “index” attribute of an element, and not merely by counting.

    Args:

      - index - The option at this index will be selected

    throws NoSuchElementException If there is no option with specified index in SELECT

  select_by_visible_text(text: str) → None

    Select all options that display text matching the argument. That is, when given “Bar” this would select an option like:

    > <option value=”foo”>Bar</option>

    Args:

      - text - The visible text to match against

      throws NoSuchElementException If there is no option with specified text in SELECT

  deselect_all() → None

    Clear all selected entries.

    This is only valid when the SELECT supports multiple selections. throws NotImplementedError If the SELECT does not support multiple selections

  deselect_by_value(value: str) → None

    Deselect all options that have a value matching the argument. That is, when given “foo” this would deselect an option like:

    > <option value=”foo”>Bar</option>

    Args:

      - value - The value to match against

      throws NoSuchElementException If there is no option with specified value in SELECT

  deselect_by_index(index: int) → None

    Deselect the option at the given index. This is done by examining the “index” attribute of an element, and not merely by counting.

    Args:

      - index - The option at this index will be deselected

      throws NoSuchElementException If there is no option with specified index in SELECT

  deselect_by_visible_text(text: str) → None

    Deselect all options that display text matching the argument. That is, when given “Bar” this would deselect an option like:

    <option value=”foo”>Bar</option>

    Args:

      - text - The visible text to match against