2017-06-01 4 views
0

Ich bin ziemlich neu zu Raspberry Pi und Python und versuchen, Selen zu laufen, um ein Web-Programm auf meinem Modell B zu automatisieren. Ich habe alles installiert und versuche nur zu laufen einen einfachen Befehl wie:Laufen Selen auf Raspberry Pi: Mögliche GeckoDriver Problem

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

Dies sollte FireFox öffnen (wie ich installiert Iceweasel habe), aber ich erhalte immer diese Fehlermeldung:

Traceback (most recent call last): File "BingBotTest.py", line 3, in browser = webdriver.Firefox() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 142, in init self.service.start() 
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 81, in start os.path.basename(self.path), self.start_error_message) 
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

ich wusste, dass ich die GeckoDriver für Firefox benötigt, so dass ich heruntergeladen es. Ich nahm an, dass ich die ARM7-Version von GeckoDriver herunterladen sollte. Aber wenn ich es extrahiere, macht es keine ausführbare Datei, so dass ich meinen Code dorthin leiten kann. Jeder mit irgendeiner Führung?

Antwort

0

Besser spät als nie, oder? : D Zuallererst, wenn du Pi Modell B aus der 1. Serie hast, dann wird armv7 geckodriver nicht für dich arbeiten. Sie müssen entweder Ihren eigenen Geckodriver kompilieren oder eine Binärdatei verwenden, die von jemand anderem kompiliert wurde. Ich habe geckodriver für armv6 kompiliert, das sollte funktionieren, damit du Glück hast. Hier ist, was Sie tun müssen, damit es funktioniert:

  1. Zum https://github.com/d0ku/GeckoDriver_ARMv6/tree/0.18.0 und laden Sie die geckodriver Datei

  2. es Setzen Sie in Ihrem usr/bin, können Sie es tun, indem Sie das Terminal in Ordner öffnen wo heruntergeladene geckodriver ist und die Eingabe sudo cp ./geckodriver/usr/bin

Dann sollten Sie Ihr Programm gut funktionieren.