How Do I use jQuery in CasperJS?
Asked Answered
S

2

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: 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']
});
Sagitta answered 25/7, 2013 at 14:30 Comment(1)
possible duplicate of CasperJS Can't find variable $Cleliaclellan
C
38

You 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);
Cleliaclellan answered 25/7, 2013 at 14:41 Comment(1)
return names.text();Cleliaclellan
H
0

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).

Hilton answered 22/9, 2018 at 20:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.