从javascript获取带有渲染的html的网页源代码

时间:2012-08-30 16:51:40

标签: c# asp.net vb.net html-agility-pack

如果我使用这个

WebClient client = new WebClient();
String htmlCode = client.DownloadString("http://test.net");

我能够使用敏捷包扫描html并获取我需要的大部分标签,但它缺少javascript渲染的html。

我的问题是,如何使用c#获取最终呈现的页面源。在运行javascript之后,WebClient还有更多内容可以获取最终呈现的源吗?

3 个答案:

答案 0 :(得分:1)

单独使用HTML Agility Pack不足以做你想做的事情,你也需要一个javascript引擎。要做到这一点,你可能想看看像Geckofx这样的东西,它允许你在你的应用程序中嵌入一个功能齐全的Web浏览器,并允许你在页面渲染后以编程方式访问dom的内容。

http://code.google.com/p/geckofx/

答案 1 :(得分:0)

您需要在应用程序中包装浏览器。

你很幸运! WebKit有一个.NET包装器。 http://webkitdotnet.sourceforge.net/

答案 2 :(得分:0)

您可以使用System.Windows.Forms中的WebBrowser类。

using (WebBrowser wb = new WebBrowser()) 
{
    //Code here
}

https://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser(v=vs.110).aspx