python selenium handle dropdown options without select code example

Example 1: python selenium select dropdown

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

Example 2: how to handle select dropdown in selenium

How do you handle Select type of dropdown?
    - If it is <select> we would have to use Select class from Selenium.
    - Methods to select from dropdown:
        - selectByVisibleText
        - selectByValue
        - selectByIndex 
--> How do we 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>

Example 3: python selenium dropdown without select

# Just found a very simple solution for this annoying problem
# Been looking around for days just to solve it, Selecting dropdowns without Select class

# Find your dropdown element by the following, finds the element in the dropdown named BRA
Dropdown_Element = driver.find_element(By.XPATH, "//*[text()='BRA']").click()

# Store the ActionChains class inside the actions variable
actions = ActionChains(driver)

# Click on the element using the click(on_element=)
actions.click(on_element=Dropdown_Element)
time.sleep(2)
actions.perform()

# Hopes this helped :)