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 对象。 由于评估是在沙箱中执行的,因此不会抛出错误。

祝你好运