Casperjs:在注入jQuery时找不到变量'$'

时间:2014-01-01 16:28:40

标签: jquery casperjs

我用

注入jquery
casper.options.clientScripts = ["jquery-latest.min.js"];

但后来我明白了

[debug] [phantom] Automatically injected jquery-latest.min.js client side
[debug] [phantom] Successfully injected Casper client-side utilities

ReferenceError: Can't find variable: $

在线

var $j_object = $(".market_listing");

这个问题已经针对casperjs测试得到了解答,但我没有找到将这些解决方案应用于我的问题的方法。

2 个答案:

答案 0 :(得分:1)

尝试更改为此行:

casper.options.clientScripts.push("jquery-latest.min.js");

另一种方式是:

var casper = require('casper').create({
    clientScripts: [
      'includes/jquery-latest.min.js',// These two scripts will be injected in remote
      'includes/underscore.js'   // DOM on every request
    ],
   ...
});

See the documentation about require('casper').create().

答案 1 :(得分:0)

除了如前所述加载脚本之外,还需要在准备好使用jQuery时调用evaluate函数。

casper.evaluate(function(){ 
  /// Page including jQuery is loaded
});