在WebClient中加载动态生成的HTML代码

好吧,我正在使用WebClient.DownloadString来废弃网页,不幸的是, DownloadString让我获得了没有CSS和JS更新的页面源代码(在页面加载时在Internet Explorer中创建)。

所以我想知道如何使用WebClient以与Internet Explorer或WebBrowser控件相同的方式加载整个页面? (使用css和js代码注入)

所以我想知道如何使用WebClient以与Internet Explorer或WebBrowser控件相同的方式加载整个页面?

你不能这样做。 WebClient类用于使用HTTP协议下载SINGLE资源。 它不理解HTML的概念。 如果您需要在此HTML中下载相关资源,则必须使用HTML解析器(例如HTML Agility Pack )以及在下载的HTML页面中遇到的每个CSS和javascript,使用WebClient发送另一个HTTP请求以检索它。

但请记住,根据网页,你试图刮去的东西可能会变得更复杂。 例如,网页可以具有javascript,其反过来动态地引用并包括其他静态资源,例如javascript或CSS。 WebClient,因为它不执行javascript可能永远不会知道它们。

你的最佳解决方案是( https://htmlagilitypack.codeplex.com/ ),它将为你下载webapage的所有内容,但我不确定你是否可以使用这个工具获得css + javascript代码