จะหา geckodriver ที่ Selenium Python ต้องการได้จากที่ไหน?


30

ฉันใช้ Ubuntu 16.04.1 LTS การดำเนินการผลตอบแทนpython -V Python 2.7.12ฉันกำลังสร้าง virtualenv จากนั้นเพื่อติดตั้งแพ็คเกจSeleniumลงใน:

pip install -upgrade selenium

แต่เมื่อทำการทดลองรันด้วยสคริปต์ python ต่อไปนี้:

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

เหตุใดคำสั่ง pip install สำหรับซีลีเนียมจึงไม่สามารถติดตั้งซีลีเนียมที่ขึ้นอยู่กับอะไรได้บ้าง
bgoodr

3
นั่นเป็นคำถามสำหรับผู้ดูแลซีลีเนียมและตุ๊กแก ทั้งหมดที่ฉันสามารถพูดได้คือคุณจะต้องได้รับตุ๊กแกจากที่อื่น (GitHub ในกรณีนี้) นอกเหนือจาก PyPI
edwinksl

คำตอบ:


44

ค้นหารุ่นล่าสุดสำหรับระบบปฏิบัติการของคุณ

แตกไฟล์ออกแล้วคัดลอก geckodriver ไปที่/usr/local/bin- ดังนั้นถ้าv0.11.1เป็นรุ่นล่าสุดและคุณอยู่บน 64 บิต Linux คุณจะทำสิ่งนี้:

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
ใช้วิธีเดียวกันสำหรับ Chromedriver เช่นกัน :)
Pratik Nagelia

1
chromedriver apt-get install -qqy chromedriverขณะนี้สามารถติดตั้งได้กับ
Rakaim

/usr/binหากยังไม่สามารถทำงานให้คัดลอกไดรเวอร์ตุ๊กแกไป สิ่งนี้ใช้ได้กับฉัน
Prasanth Ganesan

cp geckodriver /usr/local/bin/ต้องการสิทธิ์ SUDO ดังนั้น Sudo มัน
Anbuselvan Rocky

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.