Membuat Web Automation (Bot) dengan Python + Selenium

Belajar cara membuat Bot Web untuk menjalankan suatu tugas secara otomatis dengan menggunakan bahasa pemrograman Python dan Selenium.

Membuat Web Automation (Bot) dengan Python + Selenium

Halo semuanya, pada artikel kali ini kita akan belajar cara membuat Bot Web untuk menjalankan suatu tugas secara otomatis dengan menggunakan bahasa pemrograman Python dan salah satu tools yaitu Selenium.

Selenium adalah tools yang dapat kita gunakan untuk menjalankan aktifitas/tugas pada Web Browser secara otomatis seperti Browsing, Testing, Scrapping, dll.

Di artikel ini juga, penulis akan menunjukkan tutorial dasar cara penggunaan Selenium dengan bahasa pemrograman Python agar kita dapat menjalankan (Browsing) secara otomatis ke salah satu website yang akan penulis gunakan sebagai contoh, yaitu Shopee.

Menginstal Selenium dan Web Driver

Sebelumnya, kalian harus mendownload Python terlebih dahulu dan pastikan sudah terinstal pada PC kalian. Untuk Menginstal Selenium, kita dapat menggunakan pip dengan menjalankan perintah berikut kedalam Command Line:

pip install selenium

Kalian juga dapat mendownload Web Driver - yang akan kita gunakan pada contoh kali ini adalah ChromeDriver, kalian dapat men-downloadnya Disini.

Catatan: Pastikan Web Driver yang kalian Download cocok dengan versi Google Chrome yang kalian gunakan saat ini. Kalian dapat mengecek versi dari Google Chrome dengan mengetikkan chrome://settings/help pada Address Bar.

Mengecek Versi Chrome

Selain itu, kalian juga dapat menggunakan modul webdriver-manager yang juga dapat kalian instal dengan menggunakan pip:

pip install webdriver_manager

Membuat Bot Web Automation

Kalian dapat mulai membuat Bot dengan membuat file Python (.py) serta menuliskan kode Python kedalamnya. Sebagai contoh, buatlah sebuah file dengan menggunakan Teks Editor favorit kalian (Sublime Text, Visual Studio Code, dll) dan simpan dengan nama "bot_web.py". Selanjutnya, kalian dapat meng-import Selenium Web Driver dan Chrome Driver Manager di dalam nya. Masukkan kode berikut kedalam file "bot_web.py":

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# Menjalankan Web Browser
browser  = webdriver.Chrome(ChromeDriverManager().install())

# Membuka Website Shopee

Membuka Website Otomatis

Kalian dapat membuka Website secara otomatis dengan menggunakan browser.get('URL_WEBSITE'). Contoh, disini kita akan membuka halaman login website shopee.co.id. Masukkanlah kode berikut tepat dibawah komentar # Membuka Website Shopee:

# Membuka Website Shopee
browser.get('https://shopee.co.id/buyer/login?next=https%3A%2F%2Fshopee.co.id%2F')

# Interaksi Otomatis

Sekarang, kalian dapat menjalankan Script Python tersebut dengan menggunakan perintah "py bot_web.py" pada Command Line dan secara otomatis akan membuka Browser yang mengarah ke halaman login Website Shopee.co.id.

Membuka Website Otomatis

Mencari Elemen Web Target

Tahap selanjutnya adalah memprogram Selenium untuk mencari elemen yang ingin di interaksikan. Kalian dapat menemukan elemen tersebut dengan menggunakan salah satu dari beberapa kode berikut:

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

Sebagai contoh, setelah halaman login pada website shopee terbuka, kalian dapat mengecek selector class atau id dengan menggunakan Developer Tools pada Browser:

Mencari Elemen Target

Kita dapat melihat pada halaman login diatas bahwasannya terdapat dua elemen input serta satu tombol login. Selanjutnya kita harus menuliskan username/email/no hp pada input pertama, password pada input kedua serta mengeklik tombol login secara otomatis. Untuk melakukannya, tentu saja kita harus mencari elemen tersebut dengan menggunakan selector class atau id.

Pada halaman login Website shopee, kita dapat melihat bahwasannya input email dan password memiliki selector class yang sama, yaitu ._56AraZ. Maka dari itu, disini kita akan menggunakan find_element_by_css_selector. Masukkan kode berikut tepat setelah komentar # Interaksi Otomatis:

# Interaksi Otomatis
# Email dan Password Shopee
email = "EMAIL/USERNAME/NO_HP"
password = "PASSWORD_LOGIN"

# Mengisi Email dan Password
browser.find_element_by_css_selector("._1HkukX ._56AraZ").send_keys(email)
browser.find_element_by_css_selector("._3Uo2e7 ._56AraZ").send_keys(password)

# Klik Log In
browser.find_element_by_css_selector('._35rr5y').click();
Catatan: Ubah EMAIL/USERNAME/NO_HP dengan Email/Username/Nomor Handphone kalian, dan ubah PASSWORD_LOGIN dengan Password kalian.

Jika kalian mengikuti beberapa tahap diatas, kalian akan berhasil masuk ke website Shopee secara otomatis serta login dengan sukses.

Bot Berjalan

Jika digabungkan, seluruh script diatas akan terlihat seperti berikut:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# Menjalankan Web Browser
browser  = webdriver.Chrome(ChromeDriverManager().install())

# Membuka Website Shopee
browser.get('https://shopee.co.id/buyer/login?next=https%3A%2F%2Fshopee.co.id%2F')

# Interaksi Otomatis
# Email dan Password Shopee
email = "EMAIL/USERNAME/NO_HP"
password = "PASSWORD_LOGIN"

# Mengisi Email dan Password
browser.find_element_by_css_selector("._1HkukX ._56AraZ").send_keys(email)
browser.find_element_by_css_selector("._3Uo2e7 ._56AraZ").send_keys(password)

# Klik Log In
browser.find_element_by_css_selector('._35rr5y').click();

Live Action

Itulah tutorial singkat cara menggunakan Web Automation dengan bahasa pemrograman Python dan Selenium. Kalian juga dapat bereksperimen dengan Website lainnya. Silahkan digunakan dengan bijak. Semoga kalian dapat memahaminya dengan mudah.

Jika artikel ini bermanfaat, silahkan bagikan ini kepada teman-teman atau saudara kalian. Jika kalian memiliki pertanyaan, silahkan tulis pada kolom komentar. Terimakasih telah berkunjung di EL Creative Academy.

Updated: Sunday, 07 March 2021

Tampilkan 9 Diskusi

9 Diskusi

  1. Kok diganti sih font websitenya bagusan yang quicksand

    BalasHapus
  2. mas cara buat image lightbox seperti di elcreativeacademy gimana ya mas?

    BalasHapus
  3. mas cara buat image lightbox seperti di elcreativeacademy gimana ya mas?

    BalasHapus
  4. Mantap, menurut saya lebih bagus yg sekarang fontnya. Kalo boleh tau nama fontnya apa?

    BalasHapus
    Balasan
    1. Nama font nya 'Titillium Web' mas, ada di Google Fonts kok

      Hapus
  5. gak jelas ni tutorial..dicoba gak bisa..
    apa emang harus main di linux ya

    BalasHapus

Posting Komentar