我需要加载一个网页,执行其 JavaScript(以及标签中包含的所有 js 文件)并将生成的 HTLM 转储到文件中。这需要在服务器上完成。我已经尝试过使用node.js和zombie.js,但它似乎太不成熟,无法在现实世界中工作。通常,它只是抛出一个虚假的异常,而真正的浏览器(FireFox)则没有页面问题。
我的node.js代码是:
var zombie = require("zombie"),
sys = require('sys');
// Load the page
var browser = new zombie.Browser({ debug: false });
browser.visit('http://www.dba.dk', function (error, browser, status) {
if (error) { console.log('Error:' + error.message); }
if (!error && browser.statusCode == 200) {
sys.puts(browser.html);
}
});
它退出时出现异常“TypeError: Cannot call method 'toString' of null”
Jaxer 并不是真正的选择。我需要下载第 3 方页面并在我的服务器上执行它。我该如何与 Jaxer 一起做呢?
也许那是因为你正在使用err.message
然而err
没有定义?error
, 另一方面,is定义的。
Update
你退房了吗PhantomJS?
另外,它看起来像阿普塔纳·贾克瑟可以做你想做的事。去引用约翰·雷西格:
想象一下剥夺视觉效果
Firefox 的渲染部分和
用 Apache 的钩子替换它
相反 - 粗略地说就是这样
贾克瑟是。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)