从嵌入在C#中的浏览器控件获取HTML源代码

时间:2011-03-10 23:27:04

标签: c# .net winforms webbrowser-control

我在C#windows应用程序中嵌入了浏览器控件。我想抓取渲染的HTML(可以通过javascript修改)而不是原始的。

有什么建议吗?

3 个答案:

答案 0 :(得分:7)

您可以使用WebBrowser.DocumentText获取HTML,并确实设置它。

Sheng是正确的,DocumentText在脚本运行之前返回流式文档。他的代码没有编译,但它基本上是正确的。我发现你需要:

mshtml.HTMLDocument doc = webBrowser1.Document.DomDocument as mshtml.HTMLDocument;
string html = doc.documentElement.outerHTML;

答案 1 :(得分:6)

DocumentText在内部使用文档的IPersistStream接口,该接口返回原始HTML。请改用webBrowser1.Document.DocumentElement.OuterHTML。

答案 2 :(得分:1)

向WebBrowser添加Navigated事件。只有这样才能填写您的文件。

    private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {
        Console.WriteLine(webBrowser1.DocumentText);
    }