2013-01-12 44 views
1

有趣的問題在這裏,Im使用injectJs將一個外部文件(site.js)加載到我的phantomJs/CasperJs腳本中。它的加載正常,但函數沒有評估,並以字符串形式返回。Phantom Js,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?)。

感謝您的幫助。

回答

1

你忘了()

name = mysite.getName(); 
+0

天啊,我覺得愚蠢...謝謝。 –

+0

Np,它發生在我們所有人有時;) – asgoth