Selenium
​
​
​
Selenium WebDriver Installation And Setup
​
​
​
​
​
​
​
​
Handling Radio Buttons And CheckBoxes
​
​
​
​
Handling Drop-Downs
​
​
What Is The Concept Of Drop-Downs In Selenium?
​
If we talk about a website, it has web pages that contains a range of various web elements including buttons, checkbox, drop- downs, text field, hyperlinks and so on...
In this tutorial we are going to explain how to handle drop-down in selenium?
​
'Select' Class
Selenium provides 'Select' class for drop downs that are created using HTML SELECT tag.First,we have to import the Select package.
import org.openqa.selenium.support.ui.Select;
Instance of 'Select' Constructor
Declare the drop-down element as an instance of the 'Select' class by creating an object for 'Select' class.
Remember,'Select' is a parameterized constructor and accepts only 'WebElement' as a parameter.
Select OldStyleSelectMenu=new Select(driver.findElement(By.id ("oldSelectMenu")));
​
Methods for Controlling the Options of Drop-Down
For controlling the drop-down 'Select' class provides a number of methods as follows :-
​
​
​
​
​
​
​
​
​
​
​
​
​
​
Here is an example code for drop-down =>
​
package seleniumexamples;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;
public class HandlingDropDowns {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver;
String baseURL="https://demoqa.com/select-menu";
//Launch the web browser
System.setProperty("webdriver.chrome.driver","..\\SeleniumJava\\drivers\\chromedriver99.exe");
driver=new ChromeDriver();
//To maximize the size of window
driver.manage().window().maximize();
//Navigate through an URL
driver.get(baseURL);
//Locate the drop down
Select OldStyleSelectMenu=new Select(driver.findElement(By.id ("oldSelectMenu")));
//Select values from drop down by visible text,by index and by value respectively
OldStyleSelectMenu.selectByVisibleText("Aqua");
Thread.sleep(1500);
OldStyleSelectMenu.selectByIndex(5);
Thread.sleep(1500);
OldStyleSelectMenu.selectByValue("red");
Thread.sleep(1500);
//To get all the options of dropdown and print
List <WebElement> options=OldStyleSelectMenu.getOptions();
System.out.println("The all options in this dropdown are : ");
for(WebElement option:options)
System.out.println(option.getText());
//Method to verify if the element is multi-select or not
if(OldStyleSelectMenu.isMultiple())
System.out.println("\nThis dropdown supports multi select");
else
System.out.println("\nDoesn't support multiselect");
//Close the current window
driver.close();
}
}
​
Output :
​
The all options in this dropdown are :
Red
Blue
Green
Yellow
Purple
Black
White
Voilet
Indigo
Magenta
Aqua
*Doesn't support multiselect ...
​
​
Refer next page WebDriver-Drag And Drop
Methods
​
selectByVisibleText()
deselectByVisibleText()
​
​
selectByIndex()
deselectByIndex()
​
​
selectByValue()
deselectByValue()
​
​
isMultiple()
​
​
​
​
deselectAll()
Description
​
Selects/Deselects the particular option by it's corresponding displayed text on the webpage.
parameter : String(Text)
​
Selects/Deselects the particular option by it's corresponding index that starts from '0' .
parameter : int
​
Selects/Deselects the particular option by it's corresponding value in the DOM.
parameter : String(Text)
​
To check if the dropdown allows multiple selections simultaneously if Yes then returns TRUE otherwise FALSE.
Parameter : No Parameters
Returns : Boolean(True/False)
​
Deselects all the selected options.
*All the deselect methods are applicable only if the multiple selections are allowed.