假设您正在WinForms
使用该WebBrowser
控件的Document
属性。它返回一个类型为 的对象HtmlDocument
。HtmlDocument
反过来有一个GetElementById
返回类型对象的方法HtmlElement
。该OuterHtml
属性最终包含有关文本框的信息。使用Regex
表达式,您可以提取所需的信息
HtmlElement tb = webBrowser1.Document.GetElementById("firstname");
string outerHtml = tb.OuterHtml;
// Yields a text which looks like this
// <INPUT id=firstname class=inputtext value=SomeValue type=text name=firstname>
string text = Regex.Match(outerHtml, @"value=(.*) type=text").Groups[1].Value;
// text => "SomeValue"
我希望能够访问 HTML-DOM 对象模型;但是它似乎对 c# 隐藏。
编辑:
组合框产生不同类型的信息。请注意,我在InnerHtml
这里使用。
HtmlElement cb = webBrowser1.Document.GetElementById("sex");
string innerHtml = cb.InnerHtml;
// Yields a text which looks like this where the selected option is marked with "selected"
// <OPTION value=0>Select Sex:</OPTION><OPTION value=1>Female</OPTION><OPTION selected value=2>Male</OPTION>
Match match = Regex.Match(innerHtml, @"<OPTION selected value=(\d+)>(.*?)</OPTION>");
string optionValue = match.Groups[1].Value;
string optionText = match.Groups[2].Value;