2017-01-29 8 views
0

Ich habe in den letzten paar Stunden versucht, ohne Erfolg, webdriver.Firefox() richtig laufen zu lassen. Ich habe geckodriver neu installiert und überprüft, dass es zum Pfad hinzugefügt wurde, ich habe versucht, FirefoxBinary zu verwenden, aber es hat nicht geholfen. Ich konnte keine Lösung finden, und ich bin mir nicht sicher, wie ich das beheben könnte, ich würde Ihre Hilfe zu schätzen wissen. Dies ist der Code:Selenium python website login

#!/usr/bin/env python 

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 
import time 
browser = webdriver.Firefox() 
browser.get("https://testweb.com")      
time.sleep(10) 
username = browser.find_element_by_id("extpatid") 
password = browser.find_element_by_id("extpatpw") 
username.send_keys("username") 
password.send_keys("password") 
login_attempt = browser.find_element_by_xpath("//*[@type='submit']") 
login_attempt.submit() 

Im Folgenden sind die Ausnahmen erhalten, wenn ich das Skript auszuführen versucht:

Traceback (most recent call last): 
    File "./braude.py", line 7, in <module> 
    browser = webdriver.Firefox() 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 140, in __init__ 
    self.service.start() 
    File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 74, in start 
    stdout=self.log_file, stderr=self.log_file) 
    File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ 
    errread, errwrite) 
    File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child 
    raise child_exception 
OSError: [Errno 8] Exec format error 

Python-Version:

# /usr/bin/python -V 
Python 2.7.12+ 
+0

Sie können die interaktive Aufnahmefunktion von Selenium verwenden, und nachdem Sie 'save as' Python gelesen haben, kann ein Blick auf den resultierenden Python-Code anzeigen, was Sie falsch gemacht haben. – boardrider

Antwort

0

Ich bin nicht sicher, warum Sie habe diese Zeile: von selen.webdriver.firefox.firefox_binary importieren FirefoxBinary aber es ist völlig unnötig und wahrscheinlich damit verbunden Ihr ultimatives Problem - eine falsche Version des Firefox-Webdriver-Moduls.

Probieren Sie Chrome und sehen Sie, wie es damit reagiert.

+0

'[Errno 8] Exec format error' zeigt normalerweise auf eine falsche Shebang-Linie, wobei 'Chrome' in diesem Fall kaum helfen kann – Andersson