0

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 Apr 20 '15 at 16:14
1
  1. read up on Select object - http://selenium-python.readthedocs.org/en/latest/api.html?highlight=select#module-selenium.webdriver.support.select

  2. Use IDs or names, or even CSS before XPATH. Best practices, explained here

0

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");

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.