In order to select a dropdown value with Selenium WebDriver you have to create a Select (in C# it’s called SelectElement) element and not use the default WebElements.
import org.openqa.selenium.support.ui.Select;
Use our previous post to locate elements with Selenium WebDriver.
Select dropdown = new Select(driver.findElement(By.id("identifier")));
Let’s consider the following dropdown element for our example:
<select id="mySelect"> <option value="option1">France</option> <option value="option2">Italy</option> <option value="option3">Spain</option> </select>
1. Identify the select HTML element:
WebElement mySelectElement = driver.findElement(By.id("mySelect")); Select dropdown= new Select(mySelectElement);
or pass it directly to the Select element:
Select dropdown = new Select(driver.findElement(By.id("mySelect")));
2. To select an option you can do:
All select/deselect methods will throw NoSuchElementException if no matching option elements are found.
Select by Visible Text (select all options that display text matching the argument):
dropdown.selectByVisibleText("Italy");
or
Select by Index (select the option at the given index. This is done by examining the “index” attribute of an element, and not merely by counting):
dropdown.selectByIndex(2);
You can also use LoadFocus.com to automate your UI Website tests and run the easily from the cloud every 30 minutes and get notified when they fail. Try it now.
