【问题标题】:Is there any way to pass a variable to evaluate or alternatively load a json file from within evaluate?有没有办法传递一个变量来评估或从评估中加载一个 json 文件?
【发布时间】:2018-06-11 18:46:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript json casperjs


    【解决方案1】:

    您可以使用以下方法将 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();
    

    【讨论】:

      猜你喜欢
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      相关资源
      最近更新 更多