C# 从webbrowser中选择下拉选项

C# 从webbrowser中选择下拉选项,c#,C#,我的目标我需要选择第二个选项 我尝试了以下方法,但无法设置所选值。没有显示错误,选择不会发生。我自己非常熟悉HTML,我知道selected和'selected=selected'可以工作,但不确定为什么它不能与我的C代码一起工作。有什么不对劲吗 webBrowser1.Document.GetElementById("field_gender1"). Children[1].SetAttribute("selected", "selected"); HTML是 <sele

我的目标我需要选择第二个选项


我尝试了以下方法,但无法设置所选值。没有显示错误,选择不会发生。我自己非常熟悉HTML,我知道selected和'selected=selected'可以工作,但不确定为什么它不能与我的C代码一起工作。有什么不对劲吗

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

<select name="gender1" id="field_gender1" class="select">
        <option selected="selected" value="1">val1</option>
        <option value="2">val2</option>
</select>

如果代码位于合适的位置,例如:按钮1\u单击事件、webBrowser1\u DocumentCompleted事件等,则代码应该正常工作。

从WebBrowser\u 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");
     }

  }

详细说明您的问题。您能提供错误本身是什么吗?请尝试从第一个选项中删除所选属性。否则,您将同时选择两个选项。不会显示错误,选择不会发生。至于精化-我需要选择第二个选项,但是我尝试过的所有方法都没有发生。不起作用,因为我自己非常熟悉HTML,我知道selected&'selected=selected'起作用,但不确定为什么它不起作用,还有其他可能的选项吗?它在webBrowser1_文档中完成,所有其他文本输入,复选框等工作正常,所以这很奇怪,这绝对奇怪。你有试抓块吗?那是什么?还没有听说过iTunes,通常我们将一块代码封装在一个try-catch块中,以处理运行时可能发生的错误。但是,如果它的实现不正确,您可能无法在应用程序中看到真正的错误。是一些参考,以尝试捕捉块。