PhantomJS默认存储任何持久性文件吗?

作为PhantomJS的新用户,我想确保我了解PhantomJS如何处理从HTTP请求中累积的数据的任何持久性。

我的问题是: PhantomJS默认存储任何数据 (例如,在脚本的任何地方不使用require('fs')来存储请求,只是将其转储到STDOUT )。 我假设page.evaluate()调用的所有工作都是在内存中完成的。

下面是一个简单的例子:

 var page = require('webpage').create(), system = require('system'), address; if(system.args.length != 2) { console.log('Usage: phantomjs thisFile.js URL'); phantom.exit(1); } else { address = system.args[1]; page.open(address, function (status) { if(status !== 'success') { console.log('Unable to load the address!'); phantom.exit(1); } else { // Wait for the js to finish loading window.setTimeout(function(){ var results = page.evaluate(function(){ return document.documentElement.innerHTML; }); console.log(results); // This would be to stdout phantom.exit(0); }, 200); } console.log("Done."); }); } 

这个脚本会被像phantomjs thisScript.js www.example.com这样的东西调用。

我知道你可以保存一个页面到文件,我只是想确保我知道PhantomJS可以自己积累数据的所有地方。

我也研究过PhantomJS如何处理cookies 。

是的,有一种types是默认保存的,这是localStorage数据库。

  • 在Windows 7上: C:\Users\<user>\AppData\Local\Ofi Labs\PhantomJS
  • 在Windows 8上: C:\Ofi Labs\PhantomJs
  • 在Linux上: /home/<user>/.qws/share/data/Ofi Labs/PhantomJS

只有在添加命令行选项时才会保存其他所有内容。 磁盘高速caching位于上述目录中,并且必须明确设置Cookie文件path。

所以这意味着如果您testing的Web应用程序不使用localStorage,那么您可以并行运行PhantomJS。