2014-11-19 3 views
1

PhantomJS의 새로운 사용자로서 PhantomJS가 HTTP 요청으로부터 누적되는 데이터 지속성을 처리하는 방법을 이해하고 있는지 확인하고 싶습니다.PhantomJS는 기본적으로 영구 파일을 저장합니까?

내 질문은 : 는 PhantomJS은 (단지 STDOUT에 그것을 밖으로 덤프, 당신이 요청을 저장하는 스크립트 어디서나 require('fs')를 사용하지 않는 즉, 간단한 예) 지속적으로 기본으로 데이터를 저장합니까. 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가 자체적으로 데이터를 축적 할 수있는 모든 장소를 알고 있는지 확인하고 싶습니다.

나는 또한 how PhantomJS handles cookies을 들여다 보았다.

답변

3

예, 기본적으로 저장되는 유형은 localStorage입니다. 윈도우 8에 C:\Users\<user>\AppData\Local\Ofi Labs\PhantomJS

  • : 윈도우 7에

    • C:\Ofi Labs\PhantomJs 리눅스에
    • : 다른 /home/<user>/.qws/share/data/Ofi Labs/PhantomJS

    모든 것은 단지 당신이 commandline options 추가 할 때 저장됩니다. 디스크 캐시는 위의 디렉토리 안에 있으며 쿠키 파일 경로는 명시 적으로 설정되어야합니다.

    따라서 테스트하는 웹 응용 프로그램이 localStorage를 사용하지 않으면 PhantomJS를 병렬로 실행할 수 있습니다.

  • +0

    정보 주셔서 감사합니다. – datUser

    관련 문제