Menggunakan face FINDELEMENTS pada JavaScript

Selenium digunakan dalam berbagai bidang aplikasi. Misalnya Selenium digunakan untuk menguji fungsi-fungsi otomatis suatu website, membuat aplikasi robot untuk melakukan alur kerja tertentu pada suatu website bahkan bisa untuk membuat spam ataupun untuk melakukan hacking

Show

Pada kesempatan kali ini kita akan mencoba mengenal konsep dasar Selenium dengan memakai bahasa pemrograman Java. Bagi yang belum mahir Java bisa mengikuti kursus java dari Nextgen. Aplikasi yang akan kita buat adalah aplikasi sederhana untuk melakukan alur kerja login melalui facebook secara otomatis.

persiapan

Pastikan beberapa hal ini sudah terpasang di komputer Anda

  1. Java Development Kit minimal versi 8
  2. Gerhana
  3. Maven
  4. Peramban web Firefox versi terbaru

Kemudian buatlah satu proyek bertipe Maven dengan nama FacebookAutoLogin dan pastikan pom. xml berisi dependensi Java Selenium

<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-java</artifactId>
	<version>3.141.59</version>
</dependency>

Langkah selanjutnya adalah mengunduh geckodriver. exe melalui https. //github. com/mozilla/geckodriver/releases/tag/v0. 27. 0. Kita akan menjelaskan fungsi geckodriver nantinya. Kopikan geckodriver.exe pada root direktori proyek yang sudah dibuat sebelumnya.

Konsep Dasar Selenium

Selenium yang akan kita pakai pada artikel ini berbentuk library Java. Didalam library tersebut terdapat class-class dan fungsi-fungsi yang dapat kita pakai untuk mengendalikan web browser. Selenium menangani web browser dibantu oleh driver tertentu, setiap web browser mempunyai driver masing-masing. Seperti misalnya pada artikel ini kita menggunakan firefox maka kita menggunakan driver geckodriver. exe. Apabila kita menggunakan chrome web browser maka kita harus menggunakan driver yang lain lagi

Library Selenium terdiri dari beberapa fungsi dasar

  1. Fungsi untuk membuka web browser
  2. Berfungsi untuk membuka url tertentu melalui web browser
  3. Berfungsi untuk mengambil komponen html tertentu berdasarkan atribut komponen dalam url tersebut
  4. Fungsi untuk mengubah atribut komponen html
  5. Fungsi untuk melakukan aksi tertentu pada komponen html, misal fungsi tekan tombol

Sekarang mari kita perlihatkan fungsi-fungsi dasar ini dalam satu aplikasi sederhana untuk login otomatis ke facebook

Memulai Coding

Buka class utama dari proyek yang sudah kita buat sebelumnya. Kemudian tambahkan baris kode dibawah ini pada method main

System.setProperty("webdriver.gecko.driver","geckodriver.exe");
_

Fungsi kode diatas adalah untuk memakai geckodriver sebagai driver Selenium dan lokasi geckodriver. exe adalah pada direktori root proyek. Kita bisa mengubah parameter kedua apabila ingin meletakkan geckodriver. exe di lokasi lain dalam harddisk

Kemudian dilanjutkan dengan baris berikutnya, untuk membuka web browser Firefox secara otomatis

FirefoxDriver driver = new FirefoxDriver();

Dengan menggunakan object driver kita dapat mengontrol web browser yang sudah terbuka. Seperti contoh pada line code dibawah ini kita bisa membuka facebook melalui object driver dan memerintahkan web browser untuk membuka halaman facebook

driver.get("https://facebook.com");

Kemudian siapkan dua variabel bertipe String untuk menyimpan email dan password yang digunakan sebagai login facebook. Ganti xxxx dengan email dan password masing-masing

String userEmail = "xxxx";
String userPassword = "xxxx";
_

Selanjutnya mari kita perhatikan pada halaman facebook yang sudah terbuka pada web browser. Gunakan fungsi Inspect Element pada Firefox untuk melihat atribut input text email, input text password dan tombol Login. Kita juga akan menemukan atribut name pada input text email adalah email, kita juga akan menemukan atribut name pada input text password adalah pass dan terakhir attribute name pada tombol Login adalah login

Menggunakan face FINDELEMENTS pada JavaScript
Periksa Elemen pada tombolo Login

Dengan menggunakan ketiga atribut name diatas kita bisa mengambil object khusus untuk mengendalikan masing-masing komponen html. Misalnya misalnya mengisi email dan password pada masing-masing input text pada halaman login facebook yang sudah terbuka

WebElement inputEmail = driver.findElement(By.name("email"));
inputEmail.sendKeys(userEmail);

WebElement inputPassword = driver.findElement(By.name("pass"));
inputPassword.sendKeys(userPassword);

Objek bertipe WebElement adalah objek khusus untuk mengendalikan komponen html. Objek tersebut dapat dibuat dengan menemukan komponen html tertentu berdasarkan nama atribut dengan menggunakan fungsi driver. findElement(Oleh. ubi. Melalui objek WebElement ini kita bisa mengirimkan perintah tertentu kepada komponen html. Misal fungsi sendKeys memerintahkan web browser untuk mengisi nilai input teks dengan nilai yang kita inginkan. Kita juga bisa menemukan komponen html dengan atribut lain, misalnya id, class, value dan sebagainya

Kemudian kita juga dapat mengambil objek WebElement untuk mengontrol tombol login dan melakukan perintah klik pada tombol tersebut

WebElement loginButton = driver.findElement(By.name("login"));
loginButton.click();
_

Dengan melakukan klik pada tombol login maka aplikasi akan secara otomatis memerintahkan web browser untuk login ke facebook