Created
February 8, 2012 11:50
-
-
Save jeremi/1768479 to your computer and use it in GitHub Desktop.
Chosen test using selenium web driver in Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
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
please send me script in java to sselect element from chosen dropdown