Python: Konfigurasi geckodriver dan selenium untuk browsing web

From OnnoWiki
Revision as of 15:27, 29 September 2017 by Onnowpurbo (talk | contribs)
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 menggunakan cara berikut,

cd /usr/local/src
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.0/geckodriver-v0.19.0-linux64.tar.gz
cp geckodriver-v0.19.0-linux64.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf geckodriver-v0.19.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

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