我在玩僵尸剧本:
var Browser = require('zombie');
var assert = require('assert');
var browser = Browser.create();
browser.debug = true;
browser.maxRedirects = 50;
browser.userAgent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36';
browser.visit('https://redacted.com').
then(function () {
console.log(browser.evaluate("document.URL"));
console.log(browser.evaluate("document.title"));
return browser.
fill('uid','aUser').
fill('password', 'aPassword').
pressButton('Sign In');
}).then(function() {
console.log("Signed in?");
console.log(browser.evaluate('document.URL'));
console.log(browser.evaluate("document.title"));
});我看到一个参考错误:
zombie_experiment$ node zombie1.js
https://redacted.com/
Possibly unhandled Error: ReferenceError: Raphael is not defined
at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/promise.js:669:58)
at Promise$_settlePromiseAt [as _settlePromiseAt] (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/promise.js:825:14)
at Promise$_settlePromises [as _settlePromises] (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/promise.js:968:14)
at Promise$_rejectPromises [as _rejectPromises] (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/promise.js:961:10)
at Async$_consumeFunctionBuffer [as _consumeFunctionBuffer] (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/async.js:75:12)
at Async$consumeFunctionBuffer (/Users/user/zombie_experiment/node_modules/zombie/node_modules/bluebird/js/main/async.js:38:14)
at process._tickDomainCallback (node.js:463:13)这个引用错误是真实的,还是我的脚本不是zombie.js的标准用例?
发布于 2014-10-21 02:45:55
我不能让拉斐尔和僵尸一起工作。这与jsdom处理画布的方式有关。在检测绘图引擎的类型时,Raphael无声地失败了。
对我来说,唯一的解决方案是绕过应用程序中使用Raphael在画布上绘图的部分。:(
https://stackoverflow.com/questions/26409662
复制相似问题