这里有趣的问题,我使用injectJs将外部文件(site.js)加载到我的phantomJs / CasperJs脚本中。它的加载很好,但函数没有评估,并作为字符串返回。
这是site.js:
var site = function(){
this.getName = function(){
return 'this is a name';
}
}
这是我的phantom.js脚本:
casper.start();
casper.then(function(){
phantom.injectJs('/path/to/site.js');
mysite = new site(casper);
name = mysite.getName;
this.echo(name);
});
我希望控制台打印出来:'这是一个名字', 但它打印出来:'function(){this.getName = function(){return'这是一个名字'; }}“
我尝试使用eval()并无效(eval?)。
感谢您的帮助。
答案 0 :(得分:1)
您忘记了()
:
name = mysite.getName();