【发布时间】:2014-03-26 01:47:53
【问题描述】:
我有一个在加载时运行 javascript 的页面,它使用 d3 在 SVG 中呈现地图。我想自动获取该 HTML + SVG 的副本。我不能只卷曲服务器——它只是在 javascript 运行之前返回页面的 HTML。我想我可以使用 selenium 或zombiejs——但有没有更简单的方法?
【问题讨论】:
-
通过普通的旧 Javascript 获取
<body>标签的innerHTML不是一种选择? -
@juan.facorro 我需要一种将其写入文件的方法。我不认为 js 可以写入文件(出于安全原因)。
-
您可以使用 node.js 渲染它,这将允许您保存到文件中。由于 node.js 不是浏览器,因此您需要“说 DOM”的东西。 JSDOM with d3 是一个简单的选项,但可能有一些限制,比如如果您需要测量 DOM 中的内容。如果是这种情况,那么您必须使用 phontomjs(zombiejs 建立在其之上)。
-
当您说您拥有一个页面时,这是否意味着您可以访问页面代码和数据,或者该页面是否托管在您想要的外部网络服务器上要报废?
-
如果你只调用 svg on-complete 会得到什么 - var shouldbeallyousvg = d3.selectAll("svg");你不能分两部分做吗,我想你生成的 html 可能很简单,可以发布或卷曲等。
标签: javascript html svg d3.js zombie.js