从webbrowser控件获取document.text

时间:2011-12-17 11:51:04

标签: c# .net wpf webbrowser-control

如何从WPF中的webbrowser控件获取document.text?

此控件在WPF中不再具有此属性。我查看过msdn文章,但没有任何关于它的内容。

另外,谷歌搜索这个没有给我在WPF中的这个控件的任何结果

1 个答案:

答案 0 :(得分:3)

浏览器完成导航后,您可以调用这样的方法......

public static void GetPageContent(WebBrowser wb, string fileName)
{
    mshtml.HTMLDocumentClass dom = (mshtml.HTMLDocumentClass)wb.Document;
    Task t = new Task(() => File.WriteAllText(fileName, dom.body.innerHTML));
    t.Start();
}

此方法将整个页面放入标准ASCII文件中,您可以根据需要解析内容。

要使用此方法,您需要包含对Microsoft.mshtml程序集的引用,该程序集应位于“添加引用”对话框的.NET选项卡中。如图所示,我产生了一个单独的线程以保持UI的活泼,但这是可选的。

对于您只想将字符串返回给客户端的情况,您可以使用此方法...

public static string GetPageContent(WebBrowser wb)
{
    return ((mshtml.HTMLDocumentClass) wb.Document).body.innerHTML;
}
相关问题