Python: Konfigurasi geckodriver dan selenium untuk browsing web
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.15.0/geckodriver-v0.15.0-linux64.tar.gz tar zxvf geckodriver-v0.15.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