from selenium import webdriver
from selenium.webdriver.support.ui import Select
driver = webdriver.Firefox()
driver.get('url')
select = Select(driver.find_element_by_id('fruits01'))
# select by visible text
select.select_by_visible_text('Banana')
# select by value
select.select_by_value('1')
driver.findElement(By.id("dropdownlistone")).click(); // To click on drop down list
driver.findElement(By.linkText("india")).click(); // To select a data from the drop down list
it depends what kind of dropdown
There are 2 dropdowns
1- HTML
2- SELECT
we determine what kind of dropdown it is
-By tagName.We inspect.If it has <select> tag, it means it is <select> dropdown.
-If it is HTML, we can locate and click just as any other web element.
I handle Select type of dropdown by using Select class from Selenium.
- Methods to select from dropdown:
- selectByVisibleText
- selectByValue
- selectByIndex
I verify which option is selected in a dropdown?
- If we want to get the currently selected option,
we use getFirstSelectedOption() method.
-> return type: currently selected option as a web element
--> .getOptions();
-> This method will return all of the options in the <select> web element.
-> return type: List<WebElement>
// Create object of the Select class
Select se = new Select(driver.findElement(By.xpath("//*[@id='oldSelectMenu']")));
// Select the option by index
se.selectByIndex(3);
1-Select dropdowns:are created by using <select> tag in HTML
2-HTML dropdowns:these are the dropdowns that are created NOT USING <select>
These dropdowns are handled just like any other webElement.
Select select = new Select(driver.findElement(LOCATOR));
1-selectByVisibleText(String arg);
2-byIndex(int arg);
3-byValue:
.getFirstSelectedOption() .getOptions();
.getAllSelectedOptions();.deSelectAll();
action=ActionChains(driver)
action.move_to_element(driver.find_element_by_xpath('/html/body/header/header/div[3]/ul/li[2]/a'))
action.perform()
driver.find_element_by_xpath('/html/body/header/header/div[3]/ul/li[2]/ul/li[1]/a').click()