Package org.openqa.selenium.support.ui
Class Select
java.lang.Object
org.openqa.selenium.support.ui.Select
- All Implemented Interfaces:
ISelect
,WrapsElement
Models a SELECT tag, providing helper methods to select and deselect options.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear all selected entries.void
deselectByIndex
(int index) Deselect the option at the given index.void
deselectByValue
(String value) Deselect all options that have a value matching the argument.void
deselectByVisibleText
(String text) Deselect all options that display text matching the argument.boolean
int
hashCode()
boolean
void
selectByIndex
(int index) Select the option at the given index.void
selectByValue
(String value) Select all options that have a value matching the argument.void
selectByVisibleText
(String text) Select all options that display text matching the argument.
-
Constructor Details
-
Select
Constructor. A check is made that the given element is, indeed, a SELECT tag. If it is not, then an UnexpectedTagNameException is thrown.- Parameters:
element
- SELECT element to wrap- Throws:
UnexpectedTagNameException
- when element is not a SELECT
-
-
Method Details
-
getWrappedElement
- Specified by:
getWrappedElement
in interfaceWrapsElement
-
isMultiple
public boolean isMultiple()- Specified by:
isMultiple
in interfaceISelect
- Returns:
- Whether this select element support selecting multiple options at the same time? This is done by checking the value of the "multiple" attribute.
-
getOptions
- Specified by:
getOptions
in interfaceISelect
- Returns:
- All options belonging to this select tag
-
getAllSelectedOptions
- Specified by:
getAllSelectedOptions
in interfaceISelect
- Returns:
- All selected options belonging to this select tag
-
getFirstSelectedOption
- Specified by:
getFirstSelectedOption
in interfaceISelect
- Returns:
- The first selected option in this select tag (or the currently selected option in a normal select)
- Throws:
NoSuchElementException
- If no option is selected
-
selectByVisibleText
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>
- Specified by:
selectByVisibleText
in interfaceISelect
- Parameters:
text
- The visible text to match against- Throws:
NoSuchElementException
- If no matching option elements are found
-
selectByIndex
public void selectByIndex(int index) Select the option at the given index. This is done by examining the "index" attribute of an element, and not merely by counting.- Specified by:
selectByIndex
in interfaceISelect
- Parameters:
index
- The option at this index will be selected- Throws:
NoSuchElementException
- If no matching option elements are found
-
selectByValue
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>
- Specified by:
selectByValue
in interfaceISelect
- Parameters:
value
- The value to match against- Throws:
NoSuchElementException
- If no matching option elements are found
-
deselectAll
public void deselectAll()Clear all selected entries. This is only valid when the SELECT supports multiple selections.- Specified by:
deselectAll
in interfaceISelect
- Throws:
UnsupportedOperationException
- If the SELECT does not support multiple selections
-
deselectByValue
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>
- Specified by:
deselectByValue
in interfaceISelect
- Parameters:
value
- The value to match against- Throws:
NoSuchElementException
- If no matching option elements are foundUnsupportedOperationException
- If the SELECT does not support multiple selections
-
deselectByIndex
public void deselectByIndex(int index) Deselect the option at the given index. This is done by examining the "index" attribute of an element, and not merely by counting.- Specified by:
deselectByIndex
in interfaceISelect
- Parameters:
index
- The option at this index will be deselected- Throws:
NoSuchElementException
- If no matching option elements are foundUnsupportedOperationException
- If the SELECT does not support multiple selections
-
deselectByVisibleText
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>
- Specified by:
deselectByVisibleText
in interfaceISelect
- Parameters:
text
- The visible text to match against- Throws:
NoSuchElementException
- If no matching option elements are foundUnsupportedOperationException
- If the SELECT does not support multiple selections
-
equals
-
hashCode
public int hashCode()
-