鉴于 Winforms Webbrowser DOM 中的以下 html,我尝试使用 value="type102"
<div class="Input"><input type="radio" name="type" value="type101"
onclick="setType('type101');"><a href="javaScript:setType('type101');"
onclick="s_objectID="javascript:setType('type101');_1";return this.s_oc?
this.s_oc(e):true">type101</a></div>
<div class="Input"><input type="radio" name="type" value="type102"
onclick="setType('type102');" checked="checked"><a href="javaScript:setType('type102');"
onclick="s_objectID="javascript:setType('type102');_1";return this.s_oc?
this.s_oc(e):true">type102</a></div>
我用过
HtmlElement htmlElem = browser.Document.GetElementById(....
和
HtmlElement htmlElem = browser.Document.All.GetElementsByName(....
之前,但在本例中它们是相同的,因此需要通过值或 href 获取
是否可以在没有外部库的情况下直接获取第二个元素,或者我是否必须获取 GetElementsByName 的集合并遍历它们?
最佳答案
HtmlElementCollection col= webBrowser1.Document.GetElementsByTagName("input");
HtmlElement wanted;
foreach (HtmlElement item in col)
{
if (item.GetAttribute("value")=="type102")
{
wanted = item;
break;
}
}
关于c# - 按值获取html元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12935398/