Tutorial Python

Pengertian

Python adalah bahasa pemrograman tingkat tinggi yang bersifat untuk keperluan umum, interaktif, berorientasi object. Bahasa python dibuat oleh Guido van Rossum pada tahun 1985-1990. Seperti Perl, kode sumber Python juga tersedia di bawah GNU General Public License (GPL). Tutorial ini memberikan pemahaman yang cukup tentang bahasa pemrograman Python

Mengapa belajar python?

Python didesain menjadi sebuah bahasa pemrograman yang readable, alias mudah untuk dibaca dan dipahami. Alasan mengapa kita harus belajar python :

bersifat interpreted

 

 

Mengenal Headless Browser

Pengertian Headless Browser

Headless Browser adalah sebuah perambah (web browser) yang bekerja tanpa tampilan grafis (GUI). Dengan kata lain, browser ini berkerja mengakses halaman web secara tidak kasat mata. Browser ini berkerja, namun Anda tidak dapat melihatnya.

Browser headless menyediakan sistem kontrol otomatis untuk mengakses halaman web yang memiliki environment sama dengan browser pada umumnya, namun browser ini dapat dieksekusi melalui command line atau komunikasi jaringan.

Browser jenis ini sangat berguna untuk melakukan testing halaman web yang dapat dirender dan dikenali HTML sebagaimana web browser lainnya bekerja, termasuk styling elemen (CSS) seperti layout, warna, font, eksekusi javascript dan AJAX yang biasanya tidak nampak saat melakukan mode testing.

Kegunaan Headless Browser

Apa saja kegunaan dari Headless Browser?

  1. Headless Browser dapat digunakan untuk menguji otomatisasi dalam aplikasi web moderen
  2. Dapat digunakan untuk mengambil tangkapan layar pada halaman web
  3. Mengabil data dari sebuah halaman web melalui metode scraping
  4. Melakukan interaksi secara otomatis pada halaman web

Pada tahun 2009 Google menyatakan telah menggunakan Headless Browser untuk membantu melakukan proses indexing mesin pencari pada situs yang menggunakan AJAX

Contoh Headless Browser

Berikut ini beberapa jenis browser yang support headless mode :

Google Chrome – sejak versi 59 browser Chrome supports headless mode di Linux, macOS dan Windows

Firefox – headless mode tersedia di linux sejak versi 55. Versi 56 sudah mulai support untuk headless mode di Windows and macOS

PhantomJS – merupakan headless web browser yang menggunakan WebKit layout engine untuk rendering halaman web  dan JavaScriptCore untuk mengeksekusi dan menguji skrip. PhantomJS awalnya dikembangkan oleh  Ariya Hidayat pada 2010 dan telah memperoleh ekosistem pembangunan yang luas. Namun, proyek ini telah diarsipkan dan tidak lagi dalam pengembangan aktif.

Mengenal Puppeteer – Node JS

Puppeteer adalah sebuah library NodeJs yang menyediakan API high-level untuk mengontrol Chrome maupun Chromium melalui protokol DevTools. Puppeteer secara default berjalan secara headless, artinya proses yang berjalan tidak terlihat di browser, namun dapat pula dikonfigurasi untuk berjalan secara non-headless pada browser Chrome atau Chromium.

Bagi Anda yang terbiasa membuat program automation sistem headless sangat diperlukan agar proses eksekusi dapat berjalan lebih cepat. Berbeda jika proses eksekusi dilakukan melalui halaman browser proses maka akan lebih lambat karena harus memuat halaman HTML terlebih dahulu.

Apa saja yang dapat dilakukan oleh puppeteer?

Ada banyak hal yang biasanya dilakukan secara manual pada browser, namun menggunakan puppeteer dapat dilakukan secara otomatis. Berikut ini adalah beberapa hal keren yang bisa dijalankan menggunakan puppeteer :

  1. membuat screenshoot dan menyimpan bentuk PDF pada halaman web
  2. meng-crawl web SPA (Single Page Application) dan menghasilkan konten yang dirender sebelumnya.
  3. Mengotomatisasi pengisian dan pengiriman formulir, pengujian UI, input keyboard, dll.