2013-07-25 68 views
20
casper.start(URL, function() { 

    casper.page.injectJs('C:/Users/Mike/Documents/n1k0-casperjs-bc0da16/jquery-1.10.2.min.js'); 
    var names = $('span.author-name'); 
    this.echo(names); 
    this.exit(); 
} 

的ReferenceError:找不到變量:$如何在CasperJS中使用jQuery?

我該怎麼辦?我創建卡斯帕實例時試過這種過於:

var casper = require('casper').create({ 

    // I've tried both commented lines below 

    // clientScripts: ['C:/Users/Mike/Documents/n1k0-casperjs-bc0da16/jquery-1.10.2.min.js'] 
    // clientScripts: ['includes/jquery-1.10.2.min.js'] 
}); 
+0

可能重複[CasperJS無法找到變量$](http://stackoverflow.com/questions/15981450/casperjs-cant-find-variable) – jantimon

回答

36

你必須評估在瀏覽器上下文jQuery代碼使用的casper.evaluate

execute code as if you were using the browser console.

var nameCount = this.evaluate(function() { 
    var names = $('span.author-name') 
    return names.length; 
}); 
this.echo(nameCount); 
+0

'return names.text();' – jantimon