【问题标题】:get the web page source with the rendered html from javascript从 javascript 获取带有渲染的 html 的网页源
【发布时间】:2012-08-30 16:51:40
【问题描述】:

如果我用这个

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

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

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

【问题讨论】:

  • 我怀疑你只能用 C# 做到这一点。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您需要在应用程序中封装一个浏览器。

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

    【讨论】:

      【解决方案3】:

      您可以使用 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-17
        • 2016-03-11
        • 2023-03-20
        • 1970-01-01
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多