- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要加载一个网页,执行它的 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
没有定义? 错误
,另一方面,是定义的。
更新
你检查了吗PhantomJS ?
此外,它看起来像 Aptana Jaxer可以做你想做的事。引用John Resig :
Imagine ripping off the visual rendering part of Firefox and replacing it with a hook to Apache instead - roughly speaking that's what Jaxer is.
关于javascript - 加载网页,执行其 JavaScript 并将生成的 HTML 转储到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392532/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!