我的目标我需要选择第二个选项。
我尝试了以下方法,无法设置所选值。没有出现错误,选择就不会发生。我自己非常熟悉HTML,我知道“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>
答案 0 :(得分:7)
从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");
}
}
答案 1 :(得分:2)
如果代码位于合适的位置,您的代码应该正常工作,例如:button1_Click事件,webBrowser1_DocumentCompleted事件等。