【问题标题】:Include js file with PhantomJS使用 PhantomJS 包含 js 文件
【发布时间】:2016-05-22 05:20:15
【问题描述】:

在 PhantomJS 脚本中,我正在尝试加载定义数组的本地 JavaScript 文件:

var webPage = require('webpage'),
    page = webPage.create();

injected = page.injectJs('./codes.js');
if (injected) {
    console.log('injected codes.js');
    console.log(myCodes);
}
phantom.exit();

codes.js

myCodes = new Array();
myCodes[0] = { "stuff": "here" };
// more like this

我希望 myCodes 数组可用。 然而我收到了

注入代码.js

ReferenceError:找不到变量:myCodes

【问题讨论】:

    标签: javascript phantomjs


    【解决方案1】:

    找到了答案。必须使用 phantom.injectJs 导入文件,而不是 page.injectJs。

    filename = './codes.js';
    injected = phantom.injectJs(filename);
    if (injected) {
        console.log('injected codes.js');
        console.log('myCodes data:', myCodes);
    }
    

    【讨论】:

      【解决方案2】:

      我猜您必须将数组导出到所需文件中,例如:exports.myCodes= { whateverinarray };,然后在主文件中访问它,例如 injected.myCodes

      【讨论】:

        猜你喜欢
        • 2011-11-29
        • 2015-12-09
        • 2013-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2018-06-08
        相关资源
        最近更新 更多