PhantomJS:预先要求脚本和设置变量

时间:2016-12-16 09:26:57

标签: javascript phantomjs

我正在使用PhantomJS进行页面自动化。对于我的脚本,我需要加载另一个脚本,该脚本也在我的网页的实际客户端使用。此脚本包含一些部分,其中使用全局变量(假定在加载脚本之前设置)。

现在我的问题是我无法弄清楚如何在PhantomJS中require之前设置这些变量。

这(显然)没有做到这一点:

variableX = 1024;
var moduleX = require('myScripts.js');

现在有什么正确和有意的方式(如果有的话)这样做?

1 个答案:

答案 0 :(得分:0)

如果您将测试脚本准备为CommonJS模块,则可以在PhantomJS中使用它并使用其方法和变量。

来自文档:http://phantomjs.org/release-1.7.html

  

例如,假设有一个脚本universe.js,其中包含以下代码:

exports.answer = 42;
exports.start = function () {
    console.log('Starting the universe....');
}
     

此模块可用于以下其他脚本:

var universe = require('./universe');
universe.start();
console.log('The answer is', universe.answer);

如果要从这样的模块中分配全局变量,可以像在node.js中一样使用global对象:

exports.start = function () {
    global.success = true;
    console.log('Starting the universe....');
}