Интересно, может ли кто-нибудь дать мне какое-то руководство по этому вопросу?Я потратил на это немало времени и, похоже, никуда не денусь:
У меня есть скрытое поле, которое я пытаюсь разобрать в документе HTML в VB.Net.Я использую элемент управления System.Windows.Controls.WebBrowser в приложении WPF и обрабатываю событие LoadCompleted.Внутри обработчика события LoadCompleted я делаю что-то вроде этого:
Dim htmlDocument As mshtml.IHTMLDocument2 = Me.WebBrowser.Document
Dim allElements As mshtml.IHTMLElementCollection = htmlDocument.body.all
Dim hiddenField As mshtml.IHTMLInputElement = allElements.tags("hidField")
Скрытое поле, к которому я пытаюсь получить доступ, объявлено в моем файле .aspx следующим образом:
<asp:HiddenField runat="server" ID="hidField"/>
проблема в том, что allElements.tags("hidField")
возвращает ноль.Что-то не так с библиотекой mshtml?У меня нет большого опыта с этим, и я понял, что мне нужно сделать что-то подобное, чтобы найти свой скрытый элемент поля.Дайте мне знать, если вам нужно больше информации.Заранее спасибо за помощь.
РЕДАКТИРОВАТЬ
Вот мое окончательное рабочее решение для всех, кто интересуется:
Dim htmlDocument As mshtml.IHTMLDocument2 = Me.WebBrowser.Document
Dim allElements As mshtml.IHTMLElementCollection = htmlDocument.body.all
Dim allInputs As mshtml.IHTMLElementCollection = allElements.tags("input")
For Each element As mshtml.IHTMLInputElement In allInputs
If element.type = "hidden" And element.name.Contains("hidField") Then
MessageBox.Show(element.value)
End If
Next