我是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;
}
答案 0 :(得分:1)
可能
this.echo("inside getJ");
是您的问题,原因是"这个"在evaluate函数中不是casper对象,但可能是Window对象。 由于evaluate在沙箱中执行,因此不会抛出错误。
祝你好运