我试图从运行简单的例子代码:与jsdom奇怪的错误 - Node.js的
require.paths.unshift('/etc/npm'); // path to modules
var httpAgent = require('http-agent'),
jsdom = require('jsdom'),
sys = require('sys');
var agent = httpAgent.create('www.twitter.com', ['', 'about']);
agent.addListener('next', function (e, agent) {
var body = agent.body;
var window = jsdom.jsdom(body, {},{}).createWindow();
jsdom.jQueryify(window, 'http://code.jquery.com/jquery-1.4.2.js', function (window, jquery) {
agent.next();
});
});
agent.addListener('stop', function (agent) {
sys.puts('the agent has stopped');
});
agent.start();
但它返回一个错误很多在这条线:
var window = jsdom.jsdom(body, {},{}).createWindow();
误差修改:
[email protected]:~/node$ node test.js
/usr/local/lib/node/.npm/jsdom/0.1.21/package/lib/jsdom/browser/index.js:197
if (!dom.HTMLDocument.write) {
^
TypeError: Cannot read property 'write' of undefined
at Object.browserAugmentation (/usr/local/lib/node/.npm/jsdom/0.1.21/package/lib/jsdom/browser/index.js:197:24)
at Object.jsdom (/usr/local/lib/node/.npm/jsdom/0.1.21/package/lib/jsdom.js:15:25)
at EventEmitter.<anonymous> (/home/kir/node/test.js:12:22)
at EventEmitter.emit (events:27:15)
at Object.emit (/usr/local/lib/node/.npm/http-agent/0.1.0/package/lib/http-agent.js:180:41)
at /usr/local/lib/node/.npm/http-agent/0.1.0/package/lib/http-agent.js:145:14
at IncomingMessage.<anonymous> (/usr/local/lib/node/.npm/request/0.10.0/package/lib/main.js:89:7)
at IncomingMessage.emit (events:41:20)
at HTTPParser.onMessageComplete (http:107:23)
at Client.onData [as ondata] (http:848:27)
我有稳定的node.js 0.2.5的Ubuntu 10.10。 WTF?
哦,狗屎。我道歉,jsdom工作正常,开发完成。使用PHP解析网页会更好。 – Kir 2010-12-07 17:38:17