5

如果我用这个

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

我可以使用敏捷包扫描 html 并获取我需要的大部分标签,但它缺少由 javascript 呈现的 html。

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

4

3 回答 3

1

仅 HTML Agility Pack 不足以满足您的需求,您还需要一个 javascript 引擎。为此,您可能需要查看 Geckofx 之类的东西,它允许您将功能齐全的 Web 浏览器嵌入到您的应用程序中,而不是允许您在页面呈现后以编程方式访问 dom 的内容。

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

于 2012-08-30T16:56:13.313 回答
0

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

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

于 2012-08-30T16:54:02.523 回答
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

于 2016-04-18T08:54:33.063 回答