1

ここで興味深い問題があります。私は 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);

});

コンソールに「これは名前です」と出力されることを期待しますが、代わりに「関数(){ this.getName = function(){ return 'これは名前です'; }}'

私もそれを eval() してみましたが、役に立ちませんでした (eval?)。

ご協力いただきありがとうございます。

4

1 に答える 1

1

あなたは忘れました()

name = mysite.getName();
于 2013-01-12T19:59:10.887 に答える