How to select/get drop down option in Selenium 2

Viewed 211618

I am converting my selenium 1 code to selenium 2 and can't find any easy way to select a label in a drop down menu or get the selected value of a drop down. Do you know how to do that in Selenium 2?

Here are two statements that work in Selenium 1 but not in 2:

browser.select("//path_to_drop_down", "Value1");
browser.getSelectedValue("//path_to_drop_down");
10 Answers

Select in Selenium WebDriver

The ‘Select’ class in Selenium WebDriver is used for selecting and deselecting the option in a dropdown. The objects of Select type can be initialized by passing the dropdown webElement as parameter to its constructor.

WebElement testDropDown = driver.findElement(By.id("testingDropdown")); Select dropdown = new Select(testDropDown);

Selecting options from dropdown

There are three ways of selecting options from dropdown-

  1. selectByIndex – To select an option based on its index, beginning with 0.

dropdown.selectByIndex(3);

  1. selectByValue – To select an option based on its ‘value’ attribute.

dropdown.selectByValue("Database");

  1. selectByVisibleText – To select an option based on the text over the option.

dropdown.selectByVisibleText("Database Testing");

Select a particular value in a dropdown using the methods of Select class in Selenium Select class implement select tag, providing helper methods to select and deselect options.

WebElement dropdownlist = driver.findElement(By.xpath(locator));
Select listbox = new Select(dropdownlist);

Use of methods of select class with examples:

selectByIndex(int index): Select the option at the given index.
listbox.selectByIndex(2);

selectByVisibleText(java.lang.String text): Select all options that display text matching the argument
listbox.selectByVisibleText(“Date”);

Please refer to the below link for more detailed discussions here

Related