我正在编写一个 Winform
应用程序,它将Web浏览器控件导航到特定的URL,如下所示:
webBrowser1.Navigate("web.facebook.com");
现在我想获取此页面的所有 HTML
元素并检索这些控件的值,在谷歌搜索和我设法编写此代码片段的所有内容后,它显示没有错误,但抛出异常说:
对象引用未设置为对象的实例 .
mshtml.IHTMLInputElement email = (mshtml.IHTMLInputElement)webBrowser1.Document.GetElementById("email").DomElement;
MessageBox.Show(email.value);
此代码段放在Web浏览器控件的 Navigated
事件中 . 那我该怎么做呢?任何想法和建议都会得到赞赏 . 谢谢!
2 回答
在第一个赋值上放置一个断点,并确定哪个位返回一个空值:
webBrowser1.Document
,webBrowser1.Document.GetElementById("email")
或webBrowser1.Document.GetElementById("email").DomElement
做这样的事情:
并逐步完成代码 .
在调试器中浏览webBrowser1.Document以查看它实际上包含您认为应该包含的内容可能也值得您花些时间 .
非常感谢你们,我想出了出路,这就是我的表现!
特别感谢@Eser! :)