PhantomJS - Sayfa Otomasyonu

PhantomJS, web sayfası modülü API'lerinin yardımıyla web sayfalarını değiştirebilir ve DOM manipülasyonu, düğmelere tıklama vb. İşlemler gerçekleştirebilir.

Bir Sayfadan Görüntüleri Getir

Aşağıdaki program, bir sayfadan görüntüleri almak için PhantomJS'yi nasıl kullanabileceğinizi gösterir.

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));
});

Yukarıdaki program aşağıdakileri üretir 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"]

Bir sayfaya harici JavaScript eklemek mümkündür. injectJS webpage method. Sayfa otomasyonuna yardımcı olabilecek ve başka birçok şey yapabilecek birçok özellik ve yöntem vardır. Özelliklerin ve yöntemlerin detaylı olarak anlatıldığı web sayfası modülüne başvurabilirsiniz.