2013-03-07 3 views
5

나는 phantomjs를 배우고 싶지만 좋은 튜토리얼을 찾을 수 없다. 나는이 개 질문이 :phantomjs를 사용하는 방법?

  1. 경우 코드는 다음의 문제 (버튼의 라벨을 캡처하고 파일에 쓸 필요)입니다 :

    var page = require('webpage').create(); 
    var fs = require('fs'); 
    
    page.onConsoleMessage = function(msg) { 
        phantom.outputEncoding = "utf-8"; 
        console.log(msg); 
    }; 
    
    page.open("http://vk.com", function(status) { 
        if (status === "success") { 
         page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { 
          page.evaluate(function() { 
           var str = $("#quick_login_button").text(); 
           f = fs.open("ololo.txt", "w"); 
           f.writeLine(str); 
           f.close(); 
           console.log("done"); 
          }); 
          phantom.exit(); 
         }); 
        } 
    }); 
    
  2. 당신이 나에게 phantomjs에 어떤 튜토리얼 조언을 할 수 있습니까? (공식 사이트가 아님)

+0

유용한 예제가 많이 있습니다. 팬텀 틱스와 함께 제공됩니다. –

답변

2

실행이 샌드 박싱되었으므로 웹 페이지에 팬텀 개체에 대한 액세스 권한이 없습니다.

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

page.onConsoleMessage = function(msg) { 
    phantom.outputEncoding = "utf-8"; 
    console.log(msg); 
}; 

page.open("http://vk.com", function(status) { 
    if (status === "success") { 
     page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { 
      var str = page.evaluate(function() { 
       return $("#quick_login_button").text();   
      }); 
      f = fs.open("ololo.txt", "w"); 
      f.writeLine(str); 
      f.close(); 
      console.log("done"); 

      phantom.exit(); 
     }); 
    } 
}); 

PhantomJS에는 많은 예제가 포함되어 있습니다. 보세요 here.

관련 문제