Selenium Python paketinin ihtiyaç duyduğu çakmaktaşı nereden bulabilirim?


30

Ubuntu 16.04.1 LTS kullanıyorum. Yürütme python -Vdöner Python 2.7.12. Selenium paketini içine yüklemek için bundan bir sanalenv yapıyorum :

pip install -upgrade selenium

Ancak bir deneme yaparken aşağıdaki python betiği ile çalıştırın:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')

bu hatayı veriyor:

 Traceback (most recent call last):
   File "/home/myuser/bin/selenium-experiment.py", line 2, in <module>
     browser = webdriver.Firefox()
   File "/home/myuser/python_virtualenv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
     self.service.start()
   File "/home/myuser/python_virtualenv/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 71, in start
     os.path.basename(self.path), self.start_error_message)
 selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

 Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f782c1caa50>> ignored

Yana geckodriverbir çalıştırılabilir olduğunu, bunun üzerinden selenyum paketinin kurulumu tarafından temin edilmesi gerektiği sonucuna varıldı pipsonraki yapmanız gereken belirten bazı mesajla dışarı hatası ya da en azından. Görünüşe göre hayır, bu yüzden daha fazla kazdım: Belki Ubuntu'nun geckodriverçalıştırılabilir sağlayan bir pakete sahip olması gerektiğini düşündüm, bu yüzden onu aradım apt-file search geckodriverve sonuç bulamadım.

Bu geckodriveryürütülebilir dosyayı nereden edinebilirim ?



Neden selenyum için pip yükleme komutu sadece selenyumun bağlı olduğu her şeyi yükleyemiyor?
bgoodr

3
Bu Selenyum ve geckodriver sahipleri için bir soru. Söyleyebileceğim tek şey, PyPI dışında bir yerden (bu durumda GitHub) geckodriver edinmeniz gerektiği.
edwinksl

Yanıtlar:


44

İşletim sisteminiz için en yeni sürümü bulun .

Çıkarın ve geckodriver 'ı kopyalayın /usr/local/bin- öyleyse v0.11.1en son sürüm olsaydı ve 64 bit Linux kullanıyorsanız, bunu yapardınız:

export GECKO_DRIVER_VERSION='v0.24.0'
wget https://github.com/mozilla/geckodriver/releases/download/$GECKO_DRIVER_VERSION/geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
tar -xvzf geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
rm geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
chmod +x geckodriver
cp geckodriver /usr/local/bin/

Şimdi deneme sürüşün çalışmalı.


2
Aynı yöntem, krom sürücü için de geçerlidir. :)
Pratik Nagelia

1
chromedriver şimdi kurulabilir apt-get install -qqy chromedriver.
Rakaim

Bu işe yaramazsa, gecko sürücüsünü kopyalayın /usr/bin. Bu benim için çalıştı
Prasanth Ganesan

cp geckodriver /usr/local/bin/SUDO iznine ihtiyacı var. Yani Sudo.
Anbuselvan Rocky

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.