有很多类似的帖子。
How to get rendered html (processed by Javascript) in WebBrowser control?建议使用类似
的内容webBrowser1.Document.GetElementsByTagName("HTML")[0].OuterHtml;
Document
被视为对象,我无法使用GetElementsByTagName
Copy all text from webbrowser control建议使用DocumentText
我有Document
但没有DocumentText
该帖子还建议webBrowser.Document.Body.InnerText;
我可以选择使用webBrowser.Document
,但就是这样。出于某种原因,webBrowser.Document
是一个对象,因此我无法访问这些方法。
Getting the HTML source through the WebBrowser control in C#还建议使用DocumentStream
。再说一遍,我没有。
我在WPF应用程序中执行此操作并使用WebBrowser
中的System.Windows.Controls
我正在尝试的是从网页上阅读呈现的HTML。
我的代码
public void Begin(WebBrowser wb)
{
this._wb = wb;
_wb.Navigated += _wb_Navigated;
_wb.Navigate("myUrl");
}
private void _wb_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
var html = _wb.Document;//this is where I need help
}
答案 0 :(得分:2)
您的样本参考WinForms-WebBrowserControl。 添加对Microsoft.mshtml的引用(通过添加引用对话框 - >搜索)到您的项目。
将Document - 属性转换为
HTMLDocument的
以访问方法和属性(如MSDN中所述)。
另请参阅我的GitHub-Sample:
private void WebBrowser_Navigated(object sender, NavigationEventArgs e) {
var document = (HTMLDocument)_Browser.Document;
_Html.Text = document.body.outerHTML;
}