it-swarm.com.de

PhantomJS mit Selen-Fehler: Nachricht: Die 'phantomjs'-ausführbare Datei muss sich in PATH befinden

Ich versuche dieses Skript auszuführen:

https://github.com/Chillee/coursera-dl-all

Das Skript schlägt jedoch in der Zeile session = webdriver.PhantomJS() mit dem folgenden Fehler fehl

Traceback (most recent call last):
  File "dl_all.py", line 236, in <module>
    session = webdriver.PhantomJS()
  File "/home/<user>/.local/lib/python2.7/site-packages/Selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
    self.service.start()
  File "/home/<user>/.local/lib/python2.7/site-packages/Selenium/webdriver/common/service.py", line 69, in start
    os.path.basename(self.path), self.start_error_message)
Selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH. 

Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <Selenium.webdriver.phantomjs.service.Service object at 0x7f6f632864d0>> ignored

Wie füge ich meinem PFAD Phantomjs hinzu? Ich betreibe Ubuntu 16.04 und installierte Selenium über npm install Selenium.

17

Ich habe ein Beispielproblem mit diesem Befehl in der Befehlszeile gelöst

export PATH=${PATH:+$PATH:}/home/<login>/phantomjs/bin

Seine Arbeit, wenn/home/login/phantomjs/bin der Pfad für Ordner mit der ausführbaren Datei 'phantomjs' ist.

4
Ourik gruzdev

sie müssen den TREIBER herunterladen.

danach session = webdriver.PhantomJS("c:\driverPath")

11
Leon Barkan

Arbeitslösung:

Angenommen, Sie sind unter Windows - es ist ähnlich für Linux

1) phantomjs hier herunterladen: http://phantomjs.org/download.html wähle windows/linux entsprechend aus

2) Entpacken Sie Ihre phantomjs-2.1.1-windows.Zip und speichern Sie sie zum Beispiel auf einem Laufwerk wie C:\phantomjs-2.1.1-windows\bin (hier ist eine phantomjs.exe, die die Ausführung ausführt Systemanforderungen)

3) Bearbeiten Sie unter Windows10 den Umgebungspfad, um diesen bin-Ordner C:\phantomjs-2.1.1-windows\bin einzuschließen, wie in diesem Beispiel  enter image description here

4) Sie können Ihren Computer möglicherweise neu starten. Erledigt! es sollte funktionieren! (Der Web-Treiber sucht nach phantomjs.exe und sollte jetzt fertig sein.)

10
Dung

Sie müssen den ausführbaren Pfad angeben. Dies ist für Linux oder genauer für Ubuntu.

Sie sollten den Pfad der ausführbaren Datei (vollständig) angeben, nicht den Verzeichnispfad, der die ausführbare Datei enthält.

driver = webdriver.PhantomJS(executable_path='Complete path/to/phantomjs')

Es sind keine Treiber erforderlich.

Funktionierte gut für mich unter Ubuntu 16.04.

1
Nandesh

1. Laden Sie die ausführbare Datei Phantomjs von https://phantomjs.org/download.html herunter. 2. Kopieren Sie phantomjs.exe nach C:\Python27\Lib\site-packages\Selenium\webdriver\phantomjs. 3. Fügen Sie hinzu Pfad C:\Python27\Lib\site-packages\Selenium\webdriver\phantomjs unter dem Umgebungsvariablenschlüssel "PATH"

da ich PyCharm benutze, musste ich Pycharm neu starten, nachdem die obigen Einstellungen vorgenommen wurden

0
Guru

Warum nimmst du nicht den einfachsten Weg aller Zeiten und hinter dem phantomjs.exe

in das Python-Skriptverzeichnis, das bereits zur Systemumgebung hinzugefügt wurde, sollte der Pfad des Python-Verzeichnisses ungefähr so ​​aussehen 

C:\Users\[user]\AppData\Local\Programs\Python\Python[version]\Scripts
# you can use it as following 
from Selenium import webdriver
driver = webdriver.PhantomJS()
0
ahmed.soli