Jumat, 28 Februari 2014

Mengambil Screenshot Halaman Web dari Terminal

Salah satu hal yang menarik di Linux adalah kita dapat melakukan banyak hal di Terminal. Kita dapat membuat, mengedit, dan menghapus file, mematikan service, menghidupkan service, bahkan mendengarkan musik. Hal menarik lainnya adalah kita dapat mengambil screenshot halaman web secara real time melalui Terminal di Linux. Ya, hal itu memungkinkan dengan bantuan PhantomJS.

Apa itu PhantomJS?
PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.
PhantomJS layaknya sebuah peramban web yang bisa dikendalikan lewat script, sehingga PhantomJS cocok digunakan untuk headless web testing, screen capture, page automation, network monitoring.


Instalasi PhantomJS di Ubuntu
PhantomJS terdapat di repository resmi Ubuntu, jadi untuk menginstalnya sangat mudah:
sudo apt-get install phantomjs
Agar dapat mengambil screenshot halaman web, kita membutuhkan sebuah script yang nantinya dijalankan oleh PhantomJS. Berikut adalah kode script-nya:
var page = require('webpage').create();
page.open('http://www.tahutek.net', function() {
  page.render('tahutek.png');
  phantom.exit();
});
Sebagaimana yang bisa dilihat pada script di atas, pertama-tama kita memuat modul "webpage" pada PhantomJS, setelah itu memuat halaman web "http://www.tahutek.net" (pastikan kalian menyertakan protokol web yang dipakai misalnya http atau https). Setelah halaman web berhasil dimuat, maka PhantomJS akan mengambil screenshot dengan nama "tahutek.png" yang disimpan pada working directory, setelah screenshot diambil, PhantomJS harus dimatikan dengan perintah "phantom.exit()".

Simpan script di atas pada sebuah file misalnya "capture.js" seperti yang nampak pada gambar di bawah ini:


Nah, untuk menjalankan script di atas, cukup ketik perintah berikut:
phantomjs capture.js
Tunggu beberapa saat sehingga halaman web berhasil dimuat semua, kemudian screenshot berhasil dibuat.


Kemana setelah ini?
PhantomJS memiliki banyak fitur yang bisa kita manfaatkan. Terkait pengambilan screenshot saja, PhantomJS mempunyai banyak opsi. Silakan pelajari dokumentasi PhantomJS berikut ini:

PhantomJS Example: http://phantomjs.org/examples/
PhantomJS API Documentation: http://phantomjs.org/api/

Semoga bermanfaat :)

Tidak ada komentar:

Posting Komentar