PhantomJS:在phantomjs中调用用户定义/自定义函数

时间:2016-06-23 13:16:49

标签: javascript phantomjs referenceerror

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

例如:

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

}

page.evaluate(function(){

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

    mySweetFunction(item);

});

然后我会收到错误:

  

ReferenceError:无法找到变量:mySweetFunction

这样做的正确方法是什么?

mySweetFunction非常大,如果可能的话,我宁愿将它保留在page.evaluate(...)之外。

1 个答案:

答案 0 :(得分:1)

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

page.evaluate(function(){

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

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

    mySweetFunction(item);

});