2016-12-06 3 views
0

Ich versuche, ein einfaches Python-Skript für die Verbindung mit einem Web-Browser mit dem Selen-Paket. Das Fehlerprotokoll wie gezeigt wird unten angezeigt.Fehler bei der Verwendung von Python-Selen-Paket

Traceback (most recent call last): 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start 
    stdout=self.log_file, stderr=self.log_file) 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\subprocess.py", line 947, in __init__ 
    restore_signals, start_new_session) 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\subprocess.py", line 1224, in _execute_child 
    startupinfo) 
FileNotFoundError: [WinError 2] The system cannot find the file specified 

Während der oben genannten Ausnahmebehandlung, eine weitere Ausnahme aufgetreten:

Traceback (most recent call last): 
    File "F:/WinPython/WinPython-64bit-3.5.2.3Qt5/python-3.5.2.amd64/py_codes/python_org_search.py", line 4, in <module> 
    driver = webdriver.Firefox() 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 140, in __init__ 
    self.service.start() 
    File "F:\WinPython\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-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. 
+0

Ausnahmelog ist nicht genug, um das Problem zu verstehen. Zeigen Sie Ihren Code auch – Andersson

+0

Duplikat von http://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path, die bereits die Antwort hat – CJC

+0

@Andersson hier ist der Code aus Selen import WebDriver von selenium.webdriver.common.keys importieren Keys driver = webdriver.Firefox() driver.get ("http://www.python.org") assert "Python" in driver.title Elem = driver.find_element_by_name ("q") elem.clear() elem.send_keys ("PyCon") elem.send_keys (Keys.RETURN) assert "Keine Ergebnisse gefunden." nicht in driver.page_source driver.close() – Anjishnu

Antwort

0

Von selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH., es ist klar, dass Sie geckodriver auf den Systempfad, genauer gesagt auf den Ordner, geckodriver.exe enthält sollte hinzufügen müssen dem Systempfad hinzugefügt werden.

, das zu tun, cmd.exe als Administrator ausführen und den folgenden Befehl ausführen:

setx path "%path%;C:\Path\to\geckodriver.exe\;" 

ersetzen C:\Path\to\geckodriver.exe\ mit Ihrem genauen Pfad zu dem Ordner, geckodriver.exe

bearbeiten enthält:

Sie können die Datei exe von hier herunterladen, extrahieren Sie es irgendwo, sagen wir C:\geckodriver. Jetzt haben Sie Ihre Datei wie diese C:\geckodriver\geckodriver.exe und Sie müssen C:\geckodriver zu Ihrem Systempfad hinzufügen. Und führen Sie Ihr Skript in einer neuen Konsole aus.

+0

es gibt keine geckodriver.exe alles, was ich fand, war eine txt-Datei namens Geckodriver, die in dem gleichen Ordner erstellt wurde, in dem die Python-Datei mit dem Code lag @ettanany – Anjishnu

+0

Werfen Sie einen Blick Wenn Sie die exe-Datei zuvor nicht heruntergeladen und extrahiert haben, müssen Sie dies tun, indem Sie dem obigen Link folgen. – ettanany

Verwandte Themen