有没有办法传递一个变量来评估或者从evaluate中加载一个json文件?

时间:2018-06-11 18:46:57

标签: javascript json casperjs

我试图将位于本地JSON文件中的一些数据传递给casper.evaluate,但它似乎无法从那里访问。我已经尝试从外部评估加载它,但我无法在评估中读取它。我还尝试从评估中加载它,如下所示:

var keyWords = casper.evaluate(function () {
  // load local JSON file
  var json = require('../keywords.json');
  return json;
});

console.log(JSON.stringify(keyWords));

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法将JSON作为参数传递给casper.evaluate()

var keyWords = casper.evaluate(function (json) {
  return json;
}, json);

完成此任务的完整程序如下所示:

var casper = require('casper').create();

casper.start('https://example.com/');

casper.then(function () {
  var json = require('../keywords.json');

  var keyWords = this.evaluate(function (json) {
    return json;
  }, json);

  this.echo(JSON.stringify(keyWords));
});

casper.run();
相关问题