Pengen Belajar Otomasi Web? Yuk, Kenalan dengan Selenium
1. Definisi Otomasi
2. Selenium
2.1 Contoh penggunaan sederhana
1. Membuka browser.
2. Mengunjungi halaman login.
3. Mengisi username dan password.
4. Mengklik tombol login.
5. Mengecek apakah login berhasil.
3. Komponen Selenium
3.1 Web Driver
Jadi begini sobs web driver ini adalah komponen utama atau yang memungkinkan si selenium ini untuk mengontrol browser secara otomatis.
👉 Fungsi
*Untuk menghubungkan selenium dengan browser seperti ( Google Chrome, Firefox, Edge dll )
*Selain fungsi untuk menghubungkan selenium dengan browser, fungsi berikutnya adalah menjalankan perintah kita seperti membuka suatu halaman website, mengklik suatu tombol, input form dll.
👉 Software
Masing-masing browser mempunyai web drivernya sendiri-sendiri oleh karena itu kita tinggal download saja menyesuaikan dengan browser yang ingin kita gunakan, seperti :
- chromedriver.exe untuk (Google Chrome)
- geckodriver.exe untuk (Mozila Firefox)
- msedgedriver.exe untuk (Edge)
Oke sobs-sobs bisa memilih dan mendownloadnya.
3.2 Browser yang didukung
👉 Penjelasan
Maksud browser yang didukung adalah selenium dapat berkerja dengan browser yang support, artinya jika kita menggunakan browser yang tidak didukung maka selenium tidak dapat berkerja. contoh browser yang support sepert (Google Chrome, Firefox, dan Edge).
👉 Fungsi
Jika browser yang sebelunmya kita install seperti chrome, firefox atau edge, maka fungsi browser sebagai tempat menjankan perintah script kita sobs.
👉 Catatan
Pastiin versi web driver yang sudah kita download cocok dengan versi browser yang kita gunakan.
3.3 Bahasa Pemrograman
👉 Penjelasan
Selenium ini sobs bisa digunakan dengan beberapa bahasa perograman seperti python, javascript, java, ruby dan kootlin.
👉 Fungsi
untuk menulis skrip untuk mengontrol selenium sesuai dengan kebutuhan kita ya sobs.
👉 Contoh
from selenium import webdriver driver = webdriver.Chrome() # Menggunaka driver Chrome driver.get("https://www.google.com") # Membuka sruputkode.com
diatas contoh sederhana untuk membuka website sruputkode.com
3.4 Selenium Library
👉 Penjelasan
Si abang-abangan selenium ini tidak bisa sendiri sobs, dia perlu juga library sesuai dengan bahasa pemrograman yang kita gunakan.
👉 Fungsi
Menghubungkan selenium dengan bahasa pemrograman untuk menulis skrip otomatisnya sobs.
👉 Cara instalasi
- Python : pip install selenium
- Java : Menggunakan Selenium JAR
3.5 Locator (Xpath, CSS Selector, dll)
👉 Penjelasan
Jadi begini sobs kita tau bahwa suatu website itu mempunyai elemen-elemen, elemen elemen tersebut mempuyai identitas yang merujuk pada suatu lokasi, seperti misalkan elemen button untuk login, button tersebut mempunya ID : btn-login button tersebut ada didalam sebuah card nah maka fungsi locator ini untuk menemukan elemen yang ada dalam suatu website. tentunya bagi sobs-sobs web developer pasti sudah mengerahui konsep locator ini.
👉 Jenis Locator beserta contoh dengan python
- ID : driver.find_element(By.ID, "btn-login")
- Class Name : driver.find_element(By.CLASS_NAME, "btn")
- XPath : driver.find_element(By.XPATH, "//button[@id='submit']")
- CSS Selector : driver.find_element(By.CSS_SELECTOR, ".btn-primary")
3.6 Wait Mechanism (Explict & Implicit)
👉 Penjelasan
Terkadang selenium ini terlalu cepat sobs dalam mengirim perintah sebelum elemen muncul, artinya Wait Mechanism ini adalah mekanisme untuk mengunggu suatu elemen dalam website hingga siap digunakan.
👉 Implicit Wait
Menunggu semua elemen siap digunakan, berikut ini contohnya dengan python sobs
driver.implicitly_wait(10) # Menunggu hingga 10 detik
artinya kita akan menunggu hingga maksimal 10 detik sampai semua elemen ready atau terender.
👉 Explicit Wait
Menunggu elemen tertentu sampai siap digunakan.
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.presence_of_element_located((By.ID, "btn-login")))
Dari contoh diatas gua menunggu maksimal 10 detik hingga elemen dengan id btn-login siap digunakan, artinya elemen yang lain akan diabaikan sobs.
3.7 Action dan Event Handling
👉 Penjelasan
Disini maksudnya selenium dapat menangani interkasi terhadap elemen-elemen yang ada sobs. seperti klik, input teks, scroll, drag & drop, atau pun pop up.
👉 Contoh dengan python
- Klik tombol : driver.find_element(By.ID, "submit").click()
- Input text : driver.find_element(By.NAME, "username").send_keys("sruputkode")
3.8 Headless Mode (Jalankan Browser tanpa tampilan GUI)
👉 Penjelasan
Selenium ini bisa dijalankan tanpa tampilan gui sobs, artinya browser berjalan di latar belakang tanpa membuka jendela browser. semua operasi dilakukan tanpa adanya tampilan sobs. seperti click, input teks, dan lain-lain.
👉 Contoh dengan python
from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--headless") # Mode tanpa tampilan driver = webdriver.Chrome(options=options) driver.get("https://www.sruputkode.com")
Contoh diatas akan menjalankan mode Headless mode dengan membuka alamat sruputkode.com sobs.
3.9 Screenshoot dan Logging
👉 Penjelasan
Selain menangani action dan event handling selenium juga bisa melakukan operasi screenshoot, dan juga logging (mencatat aktivitas) biasanya untuk debugging sobs-sobs.
👉 Contoh Screenshoot dengan python
driver.save_screenshot("screenshot.png")
selanjutnya :
👉 Contoh Logging dengan python
import logging logging.basicConfig(level=logging.INFO) logging.info("Starting automation...")
Kira-kira seperti itu sobs contohnya.
Posting Komentar untuk "Pengen Belajar Otomasi Web? Yuk, Kenalan dengan Selenium"
Posting Komentar