PhantomJS:在 phantomjs 中调用用户 defined/custom 函数

PhantomJS: call a user defined/custom function within phantomjs

当我调用我在 Phantom 的 page.evaluate() 中定义的函数时,我收到了 ReferenceError;这样做的正确方法是什么?

例如:

function mySweetFunction(item) {
    // process item....

}

page.evaluate(function(){

    var item= document.getElementsById('item');

    mySweetFunction(item);

});

然后我会得到错误:

ReferenceError: Can't find variable: mySweetFunction

执行此操作的正确方法是什么?

mySweetFunction 相当大,如果可能的话,我宁愿将它放在 page.evaluate(...) 之外。

如果你想在 page.evaluate() 中使用一个函数,你必须先把它放在那里:

page.evaluate(function(){

    function mySweetFunction(item) {
        // process item....
    }

    var item = document.getElementsById('item');

    mySweetFunction(item);

});