Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selecting a dropdown option from webbrowser

Tags:

c#

My goal I need to select the second option.

I've tried following approach and can't set selected value. No error shows up, the selection just doesn't happen. Being very familiar with HTML myself, I know that "selected" and 'selected="selected"' work but not sure why it's not working with my C# code. What could be wrong?

webBrowser1.Document.GetElementById("field_gender1").
       Children[1].SetAttribute("selected", "selected");

The HTML is

<select name="gender1" id="field_gender1" class="select">
        <option selected="selected" value="1">val1</option>
        <option value="2">val2</option>
</select>
like image 978
Saulius Antanavicius Avatar asked Sep 04 '12 06:09

Saulius Antanavicius


1 Answers

Do this from WebBrowser_DocumentComplete(...)

var htmlDocument = webBrowser1.Document as IHTMLDocument2;
  if (htmlDocument != null)
  {
     var dropdown = ((IHTMLElement)htmlDocument.all.item("field_gender1"));
     var dropdownItems = (IHTMLElementCollection)dropdown.children;

     foreach(IHTMLElement option in dropdownItems)
     {
        var value = option.getAttribute("value").ToString();
        if(value.Equals("2"))
           option.setAttribute("selected", "selected");
     }

  }
like image 76
Dzenad Avatar answered Nov 09 '22 09:11

Dzenad