Python: Konfigurasi geckodriver dan selenium untuk browsing web

From OnnoWiki
Jump to navigation Jump to search

Kita dapat menggunakan selenium di bantu dengan geckodriver untuk browsing web menggunakan python.

Instalasi Selenium dan Geckodriver

Informasi tentang selenium bisa di baca di http://selenium-python.readthedocs.io/ . Selenim pada dasarnya tool python yang dapat digunakan untuk mengontrol browser. Untuk itu selenium membutuhkan proxy yang bernama geckodriver.

Instalasi selenium sangat sederhana menggunakan,

sudo apt install python-pip
sudo pip install selenium

Instalasi geckodriver v.0.15.0 menggunakan cara berikut,

cd /usr/local/src
wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
tar zxvf geckodriver-v0.24.0-linux64.tar.gz
sudo cp geckodriver /usr/sbin

Jika tidak di letakan di /usr/sbin, kita dapat edit executable_path geckodriver di file

/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py


Entah kenapa geckodriver versi yang lebih tinggi agak rewel dengan selenium.

Test Script

misalnya namanya scriptnya adalah selenium-test.py

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

Jalankan menggunakan perintah

python selenium-test.py


Test Search Twitter

misalnya nama script-nya adalah selenium-twitter.py

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("https://twitter.com/search?f=tweets&vertical=default&q=ahok&src=typd")
for i in range(1,3):     
	driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.close()


Jalankan menggunakan perintah

python selenium-twitter.py

Referensi