belajar selenium & python | google search

Hello.

Ya, sesuai judulnya, aku hari ini mulai belajar automation menggunakan Selenium dan Python. Mumpung weekend jadi nggak keganggu kerjaan.

Aku belajar mandiri lewat tutorial gratis dan nemu banyak error karena emang nggak ditutor langsung sama pengajar dan di tutorial yang aku ikutin banyak fitur yang deprecated alias udah nggak bisa dipake lagi di versi terbaru.

Tapi tentu saja aku tidak menyerah. Setelah berusaha searching masalah-masalah yang aku temui akhirnya aku berhasil menemukan solusinya dan sukses menjalankan satu test case hehe.

Jadi di sini aku mau nulis step dan ngumpulin beberapa error yang aku temui selama belajar hari ini.

Btw aku ngikutin tutorial dari javatpoint ya, di sini Selenium WebDriver with Python Tutorial - javatpoint

STEP 1

Download Python versi terbaru di Download Python | Python.org

Pilih yang Windows installer. Bit nya disesuaikan sama PC / Laptop yang dipakai. Ketika install Python jangan lupa klik checkbox Add Python to PATH. Pilih Customize Installation lalu klik semua checkbox di Optional Features.

Kalo udah selesai install bisa cek versi Python nya pakai cmd. Ketik python trus enter. Aku pakai Python versi 3.11.0

STEP 2

Install selenium. Buka cmd, ketik python -m pip install -U selenium, enter.

STEP 3

Install PyCharm. Download di Download PyCharm: Python IDE for Professional Developers by JetBrains pilih yang versi Community.

STEP 4

Create New Project di PyCharm. 

STEP 5

Klik kanan di project nya > New > Directory > nama folder

STEP 6

Klik kanan di folder yang baru dibuat > New > Python File > nama file

Untuk nama file nya aku namain Sample1.py

STEP 7

Mulai ngoding di Sample1.py

from selenium import webdriver

ERROR 1 : selenium nya merah

SOLUSI : klik selenium nya, klik dropdown di icon lampu, pilih opsi paling atas

STEP 8

Tambahin teks untuk menandakan awal mula ketika test case nya nanti dijalankan.

print("sample test case started")

STEP 9

driver = webdriver.Chrome()

Kode ini memang akan menghasilkan error nanti ketika dirun. di tutorialnya dikasih solusi seperti ini

driver = webdriver.Chrome(r"path ke chromedriver")

tapi di aku kena error

ERROR 2 

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

SOLUSI 

pip install webdriver_manager

inisialisasi driver nya diganti jadi :

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

Service nya auto import aja. Lalu tambahin manual untuk import ChromeDriverManager

from webdriver_manager.chrome import ChromeDriverManager

nah di situ aku kena error

ERROR 3 

tidak bisa import webdriver_manager

SOLUSI 

di PyCharm nya buka File > Settings > Project: [nama project] > Python Interpreter

Klik dropdown Python Interpreter > Show All

Klik + di kiri atas > Pilih Virtualenv EnvironmentKlik checkbox Inherit global site-packages > Ok

ERROR 4

ModuleNotFoundError: No module named 'packaging'

SOLUSI

cmd : pip install packaging

Setelah ini, import ChromeDriverManager nya udah nggak merah lagi, dan nggak perlu nambahin file exe chromedriver ke project nya.

STEP 10

Set ukuran windows nya ke maximize

driver.maximize_window

STEP 11

Karena di project ini tujuannya untuk buka google search, kita ketik url google

driver.get("https://www.google.com/")

STEP 12

Ambil nama elemen dari search box nya google

Klik kanan di search box > Inspect > copy nilai dari "name"

Untuk google search box, name nya adalah "q"

di tutorial dituliskan seperti ini

driver.find_element_by_name("q").send_keys("javatpoint")

ERROR 5 

no attribute find_element_by_name

SOLUSI

Fungsi tersebut sudah tidak bisa dipakai, sehingga kita bisa ganti dengan find_element, jadi :

driver.find_element(By.NAME, "q").send_keys("javatpoint")

Untuk By nya bisa auto import aja.

Setelah find_element, tambahkan kode time.sleep(3) di line baru untuk waktu delay.

STEP 13

Kita lakukan Enter pada button Search. Sama seperti step sebelumnya, inspect dulu button Search untuk mengetahui name nya.

driver.find_element(By.NAME, "btnK").send_keys(Keys.ENTER)

Untuk Keys nya bisa auto import aja.

Setelah find_element, tambahkan kode time.sleep(3) di line baru untuk waktu delay.

STEP 14

Tutup browsernya dengan cara driver.close()

STEP 15

Tambahkan teks untuk menandakan test case selesai dijalankan.

print("sample test case successfully completed")

STEP 16

Klik kanan pada file Sample1.py > Run 'Sample1'

Comments

Popular posts from this blog