ruby - Selecting Options one by one Using watir-webdriver- -
b.select_list(:id, "maincontent_drpvehicletype").when_present.options.each |option| option.select b.select_list(:id, "maincontent_drpmake").when_present.options.each |option| option.select b.select_list(:id, "maincontent_drpmodel").when_present.options.each |option| option.select b.button(:id,"maincontent_imgbtnsearch").click end end end
i'm having 3 dropdown each dropdown depends on previous values have select each option 1 one , click button . *while doing getting following error* element no longer attached dom (selenium::webdriver::error::staleelementreferenceerror)
also tried:
b.driver.manage.timeouts.implicit_wait = 3
assuming each option unique, try:
- get last option in dependent list
- make selection in current list
- wait option in step 1 no longer appear
the following implements idea (though has not been tested since not have similar page test against):
b.select_list(:id, "maincontent_drpvehicletype").when_present.options.each |option| #select vehicle type , wait last make option no longer appear last_make_option = b.select_list(:id, "maincontent_drpmake").when_present.options.last option.select last_make_option.wait_while_present b.select_list(:id, "maincontent_drpmake").when_present.options.each |option| #select make , wait last model option no longer appear last_model_option = b.select_list(:id, "maincontent_drpmodel").when_present.options.last option.select last_model_option.wait_while_present b.select_list(:id, "maincontent_drpmodel").when_present.options.each |option| option.select b.button(:id,"maincontent_imgbtnsearch").click end end end
note that:
- the code assumes last option of dependent list change. if not true, might need check against options of dependent list.
Comments
Post a Comment