Python splinter. How to select dropdown list which doesn't have name in option section -
i try select "local host" dropdown list has following html code:
<select id="server_select"> <option></option> <option> local host </option> <option> ah005 </option> </select>
here python code use splinter module select ah005 dropdown list failed.
server_list = browser.find_by_xpath('//select[@id="server_select"]//option[@selected="local host"]').first server_list.click()
and got error:
traceback (most recent call last): file "splinter_test.py", line 22, in <module> server_list = browser.find_by_xpath('//select[@id="server_select"]//option[@selected="local host"]').first file "/users/bibo_mbpr/anaconda/lib/python2.7/site-packages/splinter/element_list.py", line 53, in first return self[0] file "/users/bibo_mbpr/anaconda/lib/python2.7/site-packages/splinter/element_list.py", line 44, in __getitem__ self.find_by, self.query)) splinter.exceptions.elementdoesnotexist: no elements found xpath "//select[@id="server_select"]//option[@selected="local host"]"
could please give me advice? thanks
named options helpful. when don't exist have iterate on options find right one.
dropdown = browser.find_by_xpath("//select[@id='server_select']") option in dropdown.find_by_tag('option'): if option.text == "local host": option.click() break
you may need call strip()
on option.text
before comparing in case contains whitespaces.
and in case empty option @ top causing problems change if
case option.text not none , option.text == "local host"
.
Comments
Post a Comment