Dropdowns are one of the general elements present in any webpage after buttons and text bars dropdowns are a 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

Handle Dynamic table in Python Selenium



select_by_index(int index)

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

dropdown = Select(driver.find_element_by_id('id_of_element'))​
dropdown.select_by_index(5)

select_by_value(String value)

Selects an option that displays text matching the argument.

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

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'))

dropdown.select_by_visible_text('element_text')

options()

Returns a list of all options belonging to this select tag

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

dropdown.options()

first_selected_option()

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'))

dropdown.first_selected_option()

all_selected_options()

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

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

dropdown.all_selected_options()

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'))

dropdown.deselect_by_index('element_index')

deselect_by_value(String value)

De-selects an option which matches with the given value

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

dropdown.deselect_by_value('element_value')

deselect_by_visible_text(String text)

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

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

dropdown.deselect_by_visible_text('element_text')

deselect_all()

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'))

dropdown.deselect_all()

Dependent and Independent Xpath

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions