I am trying to open a webpage and select options before submitting the form. The issue I am having is being able to selecting more than one option in the select box. Eventually I want to be able to deselect an option as well and submit the the form.
A snippet of the relevant html and python code is below
Snippet of html:
<select size="10" name="ctl00$MainContent$lbCommodity" multiple="multiple" id="ctl00_MainContent_lbCommodity">
<option value="101">Wheat - HRW</option>
<option value="102">Wheat - SRW</option>
<option value="103">Wheat - HRS</option>
<option value="104">Wheat - White</option>
<option value="105">Wheat - Durum</option>
Python code:
driver = webdriver.Chrome()
driver.get("http://apps.fas.usda.gov/esrquery/esrq.aspx")
driver.find_element_by_xpath("//select[@name='ctl00$MainContent$lbCommodity']/option[@value='801']").click()
-
Hi Moj: can you give more detail about what goes wrong when you run your test, and what your expected result was? If there is an error, some detail from that would be useful.Vince Bowdren– Vince Bowdren2015年04月20日 16:14:40 +00:00Commented Apr 20, 2015 at 16:14
2 Answers 2
read up on Select object - http://selenium-python.readthedocs.org/en/latest/api.html?highlight=select#module-selenium.webdriver.support.select
Use IDs or names, or even CSS before XPATH. Best practices, explained here
-
Example of selecting multiple options and submitting a form: selenium-python.readthedocs.org/en/latest/….user246– user2462015年04月19日 18:34:59 +00:00Commented Apr 19, 2015 at 18:34
Hope this below code helps:
driver=new firefoxdriver();
//create select class object for selecting multiple select box field
Select s=new Select(driver.findElement(by.cssSelector("select[multiple='multiple']"));
/*you can use selectByVisibleText() predefined method of Select class for selecting multiple values*/
s.selectByVisibleText("Wheat - HRW");
s.selectByVisibleText("Wheat - White");