javascript - CasperJS doesn't find jQuery -


this question has answer here:

i'm using jquery selectors casper.js scraping. understand it's necessary place jquery calls inside casper.evaluate().

the problem in last of these following 3 functions, referenceerror: can't find variable: $ raised. first 2 work absolutely fine.

// on main page, scrape links sub-pages. function getlinks() {     var links = $('li.ds-artifact-item a');     return array.prototype.map.call(links, function(e) {         return e.getattribute('href');     }); }  // on main page, scrape sub-pages' titles. function gettitles() {     var titles = $('li.ds-artifact-item a');     return array.prototype.map.call(titles, function(e) {         return e.innerhtml;     }); }  // on sub-page, scrape document description. function getdescription(){     var descriptions = $('td.label-cell:contains(date)');     return array.prototype.map.call(descriptions, function(e) {         return e.innerhtml;     }); } 

here's rest of script, unimportant details obscured. note anothervalidpage valid url returns http 200 (success).

var links = []; var titles = []; var descriptions = [];  casper.start(validpage, function() {     links = this.evaluate(getlinks);     titles = this.evaluate(gettitles); });   casper.then(function() {     // echo results     this.echo(links.length + ' links found:');     this.echo(' - ' + links.join('\n - '));     this.echo(titles.length + ' titles found:');     this.echo(' - ' + titles.join('\n - '));     });  casper.thenopen(anothervalidpage, function(){});  casper.then(function(){     // call problematic one.     descriptions = this.evaluate(getdescription());      this.echo(descriptions.length + ' descriptions found:');     this.echo(' - ' + descriptions.join('\n - ')); });  casper.run(); 

i found solution: instead of calling this.evaluate(getdescription()) had call this.evaluate(getdescription), since guess executing function instead of passing argument, whoops.


Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -