Вам нужно добавить ссылку на Microsoft.mshtml
, а затем вам нужно лить документ как mshtml.HTMLDocument
. После того, как вы сделаете это, вы должны быть в состоянии использовать getElementsByTagName()
методу
var document = webBrowser.Document as mshtml.HTMLDocument;
var inputs = document.getElementsByTagName("input");
foreach (mshtml.IHTMLElement element in inputs)
{
}
getElementsByTagName()
возвращает mshtml.IHTMLElementCollection
и каждый элемент имеет mshtml.IHTMLElement
типа
EDIT
Альтернативное решение, если вам нужно использовать WinForms WebBrowser
вы можете использовать это вместо WPF. Добавить ссылку на WindowsFormsIntegration
и System.Windows.Forms
, создать пространство имен в XAML и использовать различное управление браузером
<Window ...
xmlns:winforms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms">
<WindowsFormsHost>
<winforms:WebBrowser x:Name="webBrowser"/>
</WindowsFormsHost>
</Window>
У меня есть методы, которые принимают HtmlElementCollection в качестве параметра. Будет ли этот IHTMLElement быть таким же, как HTMLElement? –
Нет, не будет. Это другой тип – dkozl
, так что я могу просто поменять HtmlElementCollection на IHtmlElementCollection и все должно работать? –