在phantomjs中,如何在页面上下文中创建文件系统变量

时间:2017-02-06 05:13:18

标签: javascript file phantomjs

在phantomjs脚本的页面上下文中为以下代码创建文件系统变量时,会发现以下错误:

错误:模块名称" fs"尚未加载上下文:_。使用require([]) http://requirejs.org/docs/errors.html#notloaded

如何解决同样问题?

CODE ::

var page = require('webpage').create();
var fs=require('fs');

page.onConsoleMessage = function(msg, lineNum, sourceId) {
  console.log('CONSOLE: ' + msg);
};

page.onError = function(msg) {
  console.log('ERROR MESSAGE: ' + msg);
};

var filters;

page.open(url, function() {
  page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
    page.evaluate(function(filters) {
      var fs = require('fs');
      var stream = fs.open('outputs.txt');
      var v1 = document.getElementsByTagName("a");
      for(var i=0;i < v1.length; ++i)   
      { 
        //some operation
        console.log(temp);
      }
      stream.close();
    },fs);
    phantom.exit();
  });
}); 

1 个答案:

答案 0 :(得分:0)

不可能直接从网页写入用户的磁盘,想象一下感染计算机是多么容易。

而是将带有必要元素的数组返回到PhantomJS上下文并在那里写入磁盘。