0

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

我有一个带有 . 在加载页面时,一些 JavaScript 会填充 div。通过浏览器查看页面的源代码不会给出 div 中的信息。

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

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

问候。

更新:我的目标是使用 Selenium(如对已接受答案的评论中所述)自动执行几页。我的项目是一个网络蜘蛛,它的设计需要针对许多页面,在这些页面中,我要访问的内容在 JavaScript 填充所有内容之前不可用。

4

2 回答 2

1

诸如WebDev 工具栏Firebug之类的 Firefox 插件具有“查看生成的源代码”之类的选项。

就时间而言,您唯一的选择就是拥有一段 javascript 代码。您可以在页面加载时尽快设置开始时间,并在页面完成时再次检查(dom-ready 或页面完全下载)。但是,它将是高度可变的,并且如果您尝试对其进行计时以提高速度(这是很好的知道和做的) - 只是让 Firebug + Yslow会更有用。

于 2009-06-02T17:58:34.700 回答
0

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

这向您显示了页面的操纵/填充的 DOM 代码。

于 2009-06-02T17:51:54.133 回答