Sunday, March 24, 2013

Select options in a DropDown List without using "SelectElement" class - Selenium WebDriver C#

Here is an example to better illustrate how to get all the items in a Drop down list and to select an item from the drop down list.
A sample Html code for drop down list
<select>
  <option>Milk</option>
  <option>Coffee</option>
  <option>Tea</option>
</select>
Code below gets all the items from the drop down list above and selects item 'Coffee'.Logic of the code is as follows
Step 1. Create an interface of the web element tag

Step 2. Create an IList with all the child elements of web element tag Step 3. Select the Drop List item "Coffee"
using System;
using System.Collections.Generic;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;

namespace SeleniumTests
{
    class DropDownListSelection
    {
        static void Main(string[] args)
        {
            IWebDriver driver = new FirefoxDriver(); 
            driver.Navigate().GoToUrl("http://DropDownList.html");
            IWebElement element = driver.FindElement(By.XPath("//Select"));
            IList<IWebElement> AllDropDownList =    element.FindElements(By.XPath("//option"));
            int DpListCount = AllDropDownList.Count;
            for (int i = 0; i < DpListCount; i++)
            {
                if (AllDropDownList[i].Text == "Coffee")
                 {
                    AllDropDownList[i].Click();
                 }
            }
            Console.WriteLine(DpListCount);
            Console.ReadLine();
        }
    }
}

2 comments: