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 Environment > Klik 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
Post a Comment