捕获JavaScript生成的内容

捕获JavaScript生成的内容,javascript,.net,html-parsing,Javascript,.net,Html Parsing,网页使用JavaScript将内容放在页面上,因此我得到了纯HTML,页面上没有数据。我需要一些东西,不仅可以读取HTML,还可以执行JavaScript并将其应用于DOM,然后将结果作为HTML文本返回 该任务与中的任务完全相同,但我正在为.NET寻找解决方案。如果您在.NET中找到类似的解决方案,我会感到惊讶。我将使用它打开页面并与DOM交互。这是一款高度可脚本化的无头WebKit浏览器,可以轻松地完成您想要的任务。有关示例,请参见 var page = require('webpage')

网页使用JavaScript将内容放在页面上,因此我得到了纯HTML,页面上没有数据。我需要一些东西,不仅可以读取HTML,还可以执行JavaScript并将其应用于DOM,然后将结果作为HTML文本返回


该任务与中的任务完全相同,但我正在为.NET寻找解决方案。

如果您在.NET中找到类似的解决方案,我会感到惊讶。我将使用它打开页面并与DOM交互。这是一款高度可脚本化的无头WebKit浏览器,可以轻松地完成您想要的任务。有关示例,请参见

var page = require('webpage').create();
page.open('http://google.com', function () {
    console.log(page.content);
    phantom.exit();
});

您必须安装PhantomJS,然后启动一个单独的进程来运行您的脚本,但PhantomJS可能比为.NET编写的任何程序都要好得多。

如果您想要javascript生成的内容,那么您需要一个浏览器引擎来实际“运行”页面,然后您可以检查生成的DOM。@jfriend00,这是一个明显的解决方案,但我正在寻找类似(Java中类似任务的解决方案)的解决方案。我将更深入地研究它,但到目前为止,我无法从中得到我想要的。示例中的代码仍然返回纯html。我想我的问题比我想象的更复杂。数据是在AJAX请求中下载的,当然,PhantomJS不会捕捉到这一点。我认为查看AJAX调用并直接使用它们更容易。无论如何,谢谢,PhantomJS是一个很好的工具,也许它会在其他时间对我有用。PhantomJS执行所有AJAX调用,并具有检查这些请求的机制(请参见
onResourceRequested
)。但是,如果您感兴趣的所有数据都在AJAX请求中,那么最好按照您所说的那样,自己从程序中发出HTTP请求。我想我会接受whis作为答案,因为它与问题有关,而且没有人提出更好的解决方案。