casperjs 评估不执行
casperjs evaluate not executing
我是 casperjs 的新手,求值函数没有被执行
casper.start('https://piedmont.taleo.net/careersection/2/moresearch.ftl?lang=en',function(){
casper.page.injectJs('/Users/manoj/apply_robots/jquery/jquery-2.1.4.min.js');
this.echo(this.getTitle());
this.wait(3000,processPage);
this.echo("before processPage");
});
function processPage()
{
this.echo("inside processPage");
var c = [];
c = this.evaluate(getJ);
this.echo(c);
}
function getJ(){
this.echo("inside getJ");
var jobs = [];
var names = $('table#requisitionListInterface\.listRequisition tr[id$=row]');
__utils__.echo(names);
for (var i = 0, row; row = names[i]; i++) {
var $p = $.parseHTML(row.cells[1].innerHTML);
}
jobs.push(names);
return names.length;
}
可能
this.echo("inside getJ");
是你的问题,因为评估函数中的 "this" 不是 casper 对象,而可能是 Window 对象。
由于评估是在沙箱中执行的,因此不会抛出错误。
祝你好运
我是 casperjs 的新手,求值函数没有被执行
casper.start('https://piedmont.taleo.net/careersection/2/moresearch.ftl?lang=en',function(){
casper.page.injectJs('/Users/manoj/apply_robots/jquery/jquery-2.1.4.min.js');
this.echo(this.getTitle());
this.wait(3000,processPage);
this.echo("before processPage");
});
function processPage()
{
this.echo("inside processPage");
var c = [];
c = this.evaluate(getJ);
this.echo(c);
}
function getJ(){
this.echo("inside getJ");
var jobs = [];
var names = $('table#requisitionListInterface\.listRequisition tr[id$=row]');
__utils__.echo(names);
for (var i = 0, row; row = names[i]; i++) {
var $p = $.parseHTML(row.cells[1].innerHTML);
}
jobs.push(names);
return names.length;
}
可能
this.echo("inside getJ");
是你的问题,因为评估函数中的 "this" 不是 casper 对象,而可能是 Window 对象。 由于评估是在沙箱中执行的,因此不会抛出错误。
祝你好运