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

标签 javascript phantomjs referenceerror

<分区>

当我调用我在 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);

});

关于javascript - PhantomJS:在 phantomjs 中调用用户定义/自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992801/

相关文章:

javascript - 如何使用 Javascript 检查当前鼠标按钮状态

javascript - 如何发送正确的模型

javascript - webshot 不会在 html 中渲染本地镜像

javascript - 从 PhantomJS/CasperJS 中的 “SyntaxError: Parse error” 消息获取更多信息

javascript - Safari 显示 JS 错误,但 Chrome 不显示

javascript - CSS Text Shake Only 在包含倒数计时器的 DIV 内

javascript - 重新加载动态加载的脚本

css - 调试 PhantomJS @font-face 问题

javascript - ReferenceError:count_1 未在 Joomla 模块中定义

javascript - AngularJS 单页应用程序 : Reference Error, ____ 未定义