获取URL的最终/定时呈现

时间:2009-06-02 17:42:07

标签: javascript html rendering

我正在寻找一种方法,提供一个URL,在运行JavaScript之后获取网页的来源。例如:

我有一个网页。 在加载页面时,一些JavaScript填充div。 通过浏览器查看页面源不会提供div中的信息。

据我所知,为了让浏览器呈现页面,div必须填充(X | D)HTML,这意味着渲染后的页面源仍然只是嵌套标记,所以从理论上讲,应该有一个页面源的“最终”版本。

我考虑使用像WebKit或Gecko这样的渲染引擎,并以某种方式调整这些来做这件事,但这是一个相当大的任务,我真的不想复制已经完成的事情。有谁知道执行此任务的方法。

问候。

更新:我的目标是使用Selenium(如对已接受答案的评论中所述)自动为多个页面执行此操作。我的项目是一个网络蜘蛛,根据设计需要定位一些页面,其中我想要访问的内容在JavaScript填充所有内容之后才可用。

2 个答案:

答案 0 :(得分:1)

Firefox {@ 3}}或WebDev toolbar的此类插件具有“查看生成的来源”等选项。

就时间而言,你所拥有的唯一选择就是拥有一段javascript代码。您可以在页面加载时尽快设置启动时间,并在页面完成时再次检查(dom-ready或页面完全下载)。然而,它会变化很大,如果你想要计时以提高速度(这是很好的知道和做) - 只要获得Firebug + Firebug就会更有用。 / p>

答案 1 :(得分:0)

在Firefox中,你可以通过等待浏览器完成渲染来获得最终渲染的DIV,然后按ctrl-A选择页面上的所有内容,最后从右键菜单中选择“显示选择源”。

这将显示页面的操作/填充DOM代码。