22
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:找不到变量:$

我该怎么办?我在创建 casper 实例时也尝试过这个:

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']
});
4

2 回答 2

38

您已使用在浏览器上下文中评估 jQuery 代码casper.evaluate

像使用浏览器控制台一样执行代码。

var nameCount = this.evaluate(function() {
    var names = $('span.author-name')
    return names.length;
});
this.echo(nameCount);
于 2013-07-25T14:41:33.370 回答
0

下载库,然后使用 clientScripts 选项添加其路径:

var casper = require("casper").create({
    clientScripts:  [
        'path/jquery-3.3.1.min.js'
    ]
});

你很适合使用 $(selector)。

于 2018-09-22T20:57:31.857 回答