Skip to content

Instantly share code, notes, and snippets.

@jeremi
Created February 8, 2012 11:50
Show Gist options
  • Save jeremi/1768479 to your computer and use it in GitHub Desktop.
Save jeremi/1768479 to your computer and use it in GitHub Desktop.
Chosen test using selenium web driver in Python
from selenium import webdriver
def select_from_chosen(driver, id, value):
chosen = driver.find_element_by_id(id + '_chzn')
results = chosen.find_elements_by_css_selector(".chzn-results li")
found = False
for result in results:
if result.text == value:
found = True
break
if found:
chosen.find_element_by_css_selector("a").click()
result.click()
return found
def select_from_multi_chosen(driver, id, values):
chosen = driver.find_element_by_id(id + '_chzn')
results = chosen.find_elements_by_css_selector(".chzn-results li")
for value in values:
found = False
for result in results:
if result.text == value:
found = True
break
if found:
chosen.find_element_by_css_selector("input").click()
result.click()
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
# go to the google home page
driver.get("http://harvesthq.github.com/chosen/")
#on the demo page, ids are always changing
chosen_selects = driver.find_elements_by_css_selector(".chzn-select")
select = chosen_selects[0]
select_id = select.get_attribute("id")
select_from_chosen(driver, select_id, "France")
select = chosen_selects[1]
select_id = select.get_attribute("id")
select_from_multi_chosen(driver, select_id, ["India", "France"])
driver.quit()
@llund
Copy link

llund commented Aug 15, 2018

Note that in more recent versions of ChosenJS, the class and id names have chosen instead of chzn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment