WebDriver - Select Item From Drop-down
In the below examples we are using drop-down from Amazon.in and are trying to select 3rd item ("Baby") from the drop-down.
Example 1 - Select an Item from Drop-down
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; using OpenQA.Selenium.Firefox; namespace Project_1 { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { IWebDriver driver = new FirefoxDriver(); driver.Navigate().GoToUrl("https://amazon.in"); var select = driver.FindElement(By.Id("searchDropdownBox")); var babyOption = select.FindElements(By.TagName("Option"))[2]; babyOption.Click(); } } }
In above code, we are using "TagName" to find an element or rather array of elements using FindElements.
As we have to select "Baby" from the drop-down list and "Baby" being the 3rd item in the list, we have used the index 2 above (as it is 0 indexed). In the last line we are using the click method to select an item.
Example 2 - Select an Item from Drop-down
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Support.UI; using OpenQA.Selenium.Firefox; namespace Project_1 { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { IWebDriver driver = new FirefoxDriver(); driver.Navigate().GoToUrl("https://amazon.in"); var select = driver.FindElement(By.Id("searchDropdownBox")); var selectElement = new SelectElement(select); selectElement.SelectByText("Baby"); } } }
In above code, we are wrapping WebElement into Select Object and using method like SelectByText to find an item in the drop-down. For this to work, make sure you have added "WebDriver.Support" DLL along with "WebDriver" DLL.