सेलेनियम पायथन पैकेज द्वारा आवश्यक जेकोड्राइवर को कहां खोजना है?


30

मैं Ubuntu 16.04.1 LTS का उपयोग कर रहा हूं। निष्पादित python -Vरिटर्न Python 2.7.12। मैं इसके द्वारा सेलेनियम पैकेज स्थापित करने के लिए एक virtualenv बंद का निर्माण कर रहा हूँ :

pip install -upgrade selenium

लेकिन जब निम्नलिखित पायथन स्क्रिप्ट के साथ एक ट्रायल रन किया जाता है:

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

यह इस त्रुटि का परिणाम है:

 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

चूंकि geckodriverएक निष्पादन योग्य है, मैंने यह निष्कर्ष निकाला कि इसे सेलेनियम पैकेज की स्थापना के माध्यम से प्रदान किया जाना चाहिए pipया कम से कम कुछ संदेश के साथ त्रुटि हो सकती है जो बताती है कि मुझे आगे क्या करने की आवश्यकता है। जाहिरा तौर पर नहीं, इसलिए मैंने आगे खोद लिया: मैंने सोचा कि शायद उबंटू में एक पैकेज होना चाहिए जो geckodriverनिष्पादन योग्य प्रदान करता है इसलिए मैंने इसका उपयोग किया apt-file search geckodriverऔर कोई परिणाम नहीं मिला।

मुझे यह geckodriverनिष्पादन योग्य कहां मिलेगा ?


इसे github.com/mozilla/geckodriver से प्राप्त करें ।
edwinksl

सेलेनियम के लिए कमांड स्थापित करने के लिए पाइप क्यों नहीं स्थापित किया जा सकता है, जो भी सेलेनियम निर्भर करता है उसे स्थापित करें
bgoodr

3
यह सेलेनियम और जेकोड्राइवर के रखरखाव के लिए एक सवाल है। मैं बस इतना ही कह सकता हूं कि आपको PyPI के अलावा कहीं और से जेकॉड्रिवर (इस मामले में GitHub) प्राप्त करना होगा।
edwinksl

जवाबों:


44

अपने OS के लिए नवीनतम रिलीज़ खोजें ।

इसे निकालें, और जेकोड्राइवर को कॉपी करें /usr/local/bin- इसलिए यदि v0.11.1सबसे हाल का संस्करण था, और आप 64 बिट के लिनक्स पर थे, तो आप ऐसा नहीं करेंगे:

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/

अब आपका ट्रायल रन काम करना चाहिए।


2
क्रोमेड्रिवर के लिए भी यही तरीका लागू होता है। :)
प्रतीक नागेलिया 12

1
क्रोमेड्रिवर अब के साथ स्थापित किया जा सकता है apt-get install -qqy chromedriver
राकिम

यदि यह काम नहीं करता है, तो जेको ड्राइवर को कॉपी करें /usr/bin। इसने मेरे लिए काम किया
प्रशांत गणेशन

cp geckodriver /usr/local/bin/SUDO अनुमति की आवश्यकता है। तो सूडो इसे।
अनबसेल्वन रॉकी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.