Dropdowns are one of the general elements present in any webpage, after buttons and textbars dropdowns are more frequently available element.

Selenium python provides Select class, with help of select class we can handle dropdowns on the webpage
Methods Present in Select Class in selenium python
  • select_by_index(int index)
  • select_by_value(String value)
  • select_by_visible_text(String text)
  • options()
  • first_selected_option()
  • all_selected_options()
  • deselect_by_index(int index)
  • deselect_by_value(String value)
  • deselect_by_visible_text(String text)
  • deselect_all()
Dropdown are formed using select tag in html, if dropdown is not formed with select tag you cannot use this Select Class methods present in python selenium


select_by_index(int index)

Selects a option that have a value matching the argument. throws NoSuchElementException If there is no option with specified value in SELECT

dropdown = Select(driver.find_element_by_id('id_of_element'))

select_by_value(String value)

Selects a option that display text matching the argument.

dropdown= Select(driver.find_element_by_id('id_of_element'))

select_by_visible_text(String text)

Select all options that display text matching the argument.

dropdown = Select(driver.find_element_by_id('id_of_element'))


Returns a list of all options belonging to this select tag

dropdown = Select(driver.find_element_by_id('id_of_element'))


The first selected option in this select tag (or the currently selected option in a normal select)

dropdown = Select(driver.find_element_by_id('id_of_element'))


Returns a list of all selected options belonging to this select tag

dropdown = Select(driver.find_element_by_id('id_of_element'))

deselect_by_index(int index)

Deselect the option at the given index. This is done by examing the “index? attribute of an element, and not merely by counting.

Python throws NoSuchElementException If there is no option with index in SELECT

dropdown = Select(driver.find_element_by_id('id_of_element'))

deselect_by_value(String value)

De-selects a option which matches with the given value

dropdown = Select(driver.find_element_by_id('id_of_element'))

deselect_by_visible_text(String text)

De-selects a option which matches with the given visible text

dropdown = Select(driver.find_element_by_id('id_of_element'))


Clear all selected entries. This is only valid when the SELECT supports multiple selections. Python Selenium throws NotImplementedError If the SELECT does not support multiple selections

dropdown = Select(driver.find_element_by_id('id_of_element'))

About Author

Article is written by Pavan (a) KarthiQ. Well, I am serving notice period in an MNC, Bangalore. I thought to enrich every person knowledge a little, I always have a feeling, when we teach something, we will learn more than what you know. Knowledge is the only thing that doubles when you spend it.

I have also created the reporter for Protractor Jasmine. Use for your projects without any hesitation

You can also share knowledge by Adding a topic here

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions