Otomatisasi Browser

2020.07.10 23:34

Blog

Beberapa waktu lalu saya “terpaksa” membuat akun Instagram. Iya terpaksa. Karena sesungguhnya saya pribadi yang cinta keheningan. Dan sosial media bukan tempat hening. Di sana jutaan titisan Narcissus bergentayangan. Bukan kamu. Semoga.

Kepalang tanggung, terlanjur basah, sekalian saja saya “follow” orang-orang yang direkomendasikan oleh Instagram. Tapi menekan tombol “Follow” satu per satu jelas bukan pilihan. Di sinilah kita coba mengotomatiskan browser.

Otomatisasi Browser Menggunakan Javascript

Otomatisasi browser menggunakan Javascript mungkin cara paling mudah karena tidak perlu memasang aplikasi lain. Kita dapat eksekusi skrip langsung di browser.

Mencari Tombol

Tugas pertama kita yaitu mencari class tombol yang akan diklik. Yaitu dengan klik kanan di tombol “Follow” kemudian pilih “Inspect”. Class yang saya temukan yaitu '.sqdOP.L3NKy.y3zKF'.

Eksekusi Skrip

Setelah ketemu tombol yang diinginkan, kita tinggal jalankan skrip Javascript di tab consolemilik browser dev-tools.

let tmbl = document.querySelectorAll('.sqdOP.L3NKy.y3zKF');
tmbl.forEach(kTmbl => kTmbl.click())

Skrip sederhana kita di atas hanya terdiri dari sebuah variabel berisi tombol-tombol yang akan ditekan dan sebuah fungsi untuk meng-klik tombol-tombol tersebut.

Kita coba sekali lagi ya.

Otomatisasi Browser Menggunakan Selenium

Satu lagi cara buat mengotomatiskan browser yaitu menggunakan Selenium. Selenium merupakan toolset yang amat fleksibel dan powerful untuk otomatisasi browser. Apa saja yang dapat kita lakukan dengan Selenium cuma berbatas imajinasi kita sendiri. Sayangnya kali ini imajinasi saya cuma sampai auto follow orang di Instagram.

😝

Memasang Selenium

$ pip install selenium

Unduh Browser Driver


Chrome driver : https://sites.google.com/a/chromium.org/chromedriver/downloads


Selain driver Chrome juga ada driver untuk browser lain.

Membuat script Instruksi

#!/usr/bin/env python
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys 

uname = 'ahmadihamidnasution'
password = 'tadinyapassword'

browser = webdriver.Chrome('/home/annajm/Chromedriver/chromedriver83')

browser.get('https://www.instagram.com/') 
browser.implicitly_wait(5) #tunggu load page

#input username
user = browser.find_element_by_name('username')
user.send_keys(uname)
#input password
sandi = browser.find_element_by_name('password')
sandi.send_keys(password)
time.sleep(5)

browser.find_element_by_xpath("//*[text()='Log In']").click() 
time.sleep(5)

browser.get('https://www.instagram.com/explore/people/suggested/') 
browser.implicitly_wait(5)

while True:
 browser.find_element_by_xpath("//*[text()='Follow']").click()
 time.sleep(2)

Sederhana ya? Maklum tugas yang kita otomatisasi juga enggak terlalu banyak. Sekedar mengetik username dan password, kemudian menekan tombol.

Eksekusi script

$ python script.py

Assalamualaikum.

Referensi

https://selenium-python.readthedocs.io

https://t.me/halamanbelakang