PhantomJS-ページの自動化

PhantomJSは、そのWebページモジュールAPIの助けを借りて、Webページを操作し、DOM操作、ボタンのクリックなどの操作を実行できます。

ページから画像を取得する

次のプログラムは、PhantomJSを使用してページから画像をフェッチする方法を示しています。

var wpage = require('webpage').create();
wpage.onConsoleMessage = function(str) {
   console.log(str.length);
}
wpage.open("http://phantomjs.org", function(status) {
   console.log(status);
   var element = wpage.evaluate(function() {
      var imgdata =  document.querySelectorAll('img');
      var imgsrc = [];
      
      if (imgdata) {
         for (var i in imgdata) {
            imgsrc.push(imgdata[0].src);
         }
      }
      return imgsrc;
   });
   console.log(JSON.stringify(element));
});

上記のプログラムは以下を生成します output

Success 
["http://phantomjs.org/img/phantomjslogo.png","http://phantomjs.org/img/phantom 
js-logo.png","http://phantomjs.org/img/phantomjslogo.png","http://phantomjs.org 
/img/phantomjs-logo.png"]

を使用してページに外部JavaScriptを含めることができます injectJS webpage method。ページの自動化や他の多くのことを行うのに役立つ多くのプロパティとメソッドがあります。プロパティとメソッドが詳細に説明されているWebページモジュールを参照できます。