如果我使用这个
WebClient client = new WebClient();
String htmlCode = client.DownloadString("http://test.net");
我能够使用敏捷包扫描html并获取我需要的大部分标签,但它缺少javascript渲染的html。
我的问题是,如何使用c#获取最终呈现的页面源。在运行javascript之后,WebClient还有更多内容可以获取最终呈现的源吗?
答案 0 :(得分:1)
单独使用HTML Agility Pack不足以做你想做的事情,你也需要一个javascript引擎。要做到这一点,你可能想看看像Geckofx这样的东西,它允许你在你的应用程序中嵌入一个功能齐全的Web浏览器,并允许你在页面渲染后以编程方式访问dom的内容。
答案 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