casperjs评估不执行

时间:2015-06-24 13:36:17

标签: javascript web-scraping phantomjs casperjs

我是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;


    }

1 个答案:

答案 0 :(得分:1)

可能

this.echo("inside getJ");

是您的问题,原因是"这个"在evaluate函数中不是casper对象,但可能是Window对象。 由于evaluate在沙箱中执行,因此不会抛出错误。

祝你好运