このスレッドを見て、複雑なオブジェクトをevaluate()
https://groups.google.com/forum/#!topic/casperjs/x7I8LDFwFJ0に渡す方法がないように見えます
オブジェクトを作成し、異なる 間で共有したい場合evaluate()
、どうすればよいでしょうか?
getData 関数を何度も使用したい、このようなばかげたオブジェクトを考えてみましょう。
var testObj = (function() {
var a = 1;
function test1(b) {
return (a+b);
}
return {
getData : function(arg) {
return (test1(3) + arg);
}
}
})();
可能な回避策はありますか?
更新 1:
関数でオブジェクトを渡すことを意味します。以下のようですが、動作しません (リターンnull
):
var casper = require('casper').create();
casper.start('about:blank', function() {
var TestObj = function() {
var a = 1;
function test1(b) {
return (a+b);
}
return {
getData : function(arg) {
return (test1(3) + arg);
}
}
}
var testObj = new TestObj();
this.echo(casper.evaluate(function(myObject ) {
return myObject.getData(100);
}, testObj));
});
casper.run(function() {
this.exit();
});