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: Can't find variable: $
What do I do? I've tried this too when creating the casper instance:
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']
});
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: Can't find variable: $
What do I do? I've tried this too when creating the casper instance:
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']
});
Share
Improve this question
asked Jul 25, 2013 at 14:30
Michael YaworskiMichael Yaworski
13.5k19 gold badges71 silver badges98 bronze badges
1
- possible duplicate of CasperJS Can't find variable $ – jantimon Commented Jul 25, 2013 at 14:53
2 Answers
Reset to default 38You have evaluate the jQuery code in the browser context using 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);
Download the library then add its path using the clientScripts option:
var casper = require("casper").create({
clientScripts: [
'path/jquery-3.3.1.min.js'
]
});
And you are good to go with $(selector).