如何从WebBrowser控件

时间:2017-05-11 08:54:53

标签: c# html wpf

有很多类似的帖子。

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
}

1 个答案:

答案 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;
}