- Bootstrap is a free front-end framework for faster and easier web development
- Bootstrap includes HTML and CSS based design templates for typography, forms, buttons, tables, navigation, modals, image carousels and many other, as well as optional JavaScript plugins
- Bootstrap also gives you the ability to easily create responsive designs
- Bootstrap is compatible with all modern browsers (Chrome, Firefox, Internet Explorer, Edge, Safari, and Opera)
What is Responsive Web Design?
Responsive web design is about creating web sites, which automatically adjust themselves to look good on all devices, from small phones to large desktops.
Bootstrap dropdowns and interactive dropdowns that are dynamically position and formed using list of ul and li html tags. To know more about Bootstrap, please click here


How to get all the options of a Bootstrap dropdown
Below is an example which will explain how to get all the options of a Bootstrap dropdown.
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class BootStrapDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\Desktop\\Drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.seleniumeasy.com/test/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
// Clicking on Bootstrap Dropdown
driver.findElement(By.xpath("//*[@id='navbar-brand-centered']/ul[1]/li[1]/a")).click();
// Get the all WebElements inside the dropdown in List
List dropdown_list = driver.findElements(By.xpath("//ul[contains(@class,'dropdown-menu')]//li//a"));
// Printing the amount of WebElements inside the list
System.out.println("The Options in the Dropdown are: " + dropdown_list.size());
// Condition to get the WebElement for list
for(int i=0; i<dropdown_list.size(); i++)
{
// Printing All the options from the dropdown
System.out.println(dropdown_list.get(i).getText());
}
}
}
Output
The Options in the Dropdown are: 29
Simple Form Demo
Checkbox Demo
Radio Buttons Demo
Select Dropdown List
Input Form Submit
Ajax Form Submit
JQuery Select dropdown


Here,
1) Open a web page – https://www.seleniumeasy.com/test/
2) Click on BootStrap DropDown – Input Forms by using (“//*[@id=’navbar-brand-centered’]/ul[1]/li[1]/a”
3) Get the all WebElements inside the dropdown in List by using
(“//ul[contains(@class,’dropdown-menu’)]//li//a”)
4) Print all the options of DropDown using dropdown_list.get(i).getText()
How to select a particular option from Bootstrap dropdown
In the below example, there is a Bootstrap dropdown. I want to
Check if an element – Checkbox Demo is present in the dropdown or not.
If Yes, click on that option.
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class BootStrapDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\Desktop\\Drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.seleniumeasy.com/test/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
// Clicking on Bootstrap Dropdown
driver.findElement(By.xpath("//*[@id='navbar-brand-centered']/ul[1]/li[1]/a")).click();
// Get the all WebElements inside the dropdown in List
List dropdown_list = driver.findElements(By.xpath("//ul[contains(@class,'dropdown-menu')]//li//a"));
// Printing the amount of WebElements inside the list
System.out.println("The Options in the Dropdown are: " + dropdown_list.size());
// Condition to get the WebElement for list
for(int i=0; i<dropdown_list.size(); i++)
{
// Printing All the options from the dropdown
System.out.println(dropdown_list.get(i).getText());
// Checking the condition whether option in text "Checkbox Demo" is coming
if(dropdown_list.get(i).getText().contains("Checkbox Demo"))
{
// Clicking if text "Checkbox Demo" is there
dropdown_list.get(i).click();
// Breaking the condition if the condition get satisfied
break;
}
}
driver.quit();
}
}
OutPut
The Options in the Dropdown are: 29
Simple Form Demo
Checkbox Demo


This program can be re-written by using Enhanced for loop instead of For loop.
getText() can be replaced by getAttribute(“innerHTML”)
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class BootStrapDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\Desktop\\Drivers\\chromedriver_win32\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.seleniumeasy.com/test/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
// Clicking on Bootstrap Dropdown
driver.findElement(By.xpath("//*[@id='navbar-brand-centered']/ul[1]/li[1]/a")).click();
// Get the all WebElements inside the dropdown in List
List dropdown_list = driver.findElements(By.xpath("//ul[contains(@class,'dropdown-menu')]//li//a"));
// Printing the amount of WebElements inside the list
System.out.println("The Options in the Dropdown are: " + dropdown_list.size());
// Condition to get the WebElement using Enhanced For loop
for(WebElement element:dropdown_list)
{
// Printing All the options from the dropdown
System.out.println(element.getAttribute("innerHTML"));
// Checking the condition whether option in text "Checkbox Demo" is coming
if(element.getAttribute("innerHTML").contains("Checkbox Demo"))
{
// Clicking if text "Checkbox Demo" is there
element.click();
// Breaking the condition if the condition get satisfied
break;
}
}
driver.quit();
}
}
