在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();
});
});
答案 0 :(得分:0)
不可能直接从网页写入用户的磁盘,想象一下感染计算机是多么容易。
而是将带有必要元素的数组返回到PhantomJS上下文并在那里写入磁盘。