You need to add reference to Microsoft.mshtml
and then you need to cast document as mshtml.HTMLDocument
. After you do that you should be able to use getElementsByTagName()
method
var document = webBrowser.Document as mshtml.HTMLDocument;
var inputs = document.getElementsByTagName("input");
foreach (mshtml.IHTMLElement element in inputs)
{
}
getElementsByTagName()
returns mshtml.IHTMLElementCollection
and each item is of a mshtml.IHTMLElement
type
EDIT
Alternative solution, if you need to use WinForms WebBrowser
you can use that instead of the WPF one. Add reference to WindowsFormsIntegration
and System.Windows.Forms
, create namespace in XAML and use different browser control
<Window ...
xmlns:winforms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
<WindowsFormsHost>
<winforms:WebBrowser x:Name="webBrowser"/>
</WindowsFormsHost>
</Window>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…