2016-06-19 15 views
11

Ja próbuje uruchomić ten skrypt:PhantomJS z błędem Selen: Wiadomość wykonywalny „phantomjs” musi być w PATH

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

Jednak skrypt nie na linii session = webdriver.PhantomJS() z następującym błędem

Traceback (most recent call last): 
    File "dl_all.py", line 236, in <module> 
    session = webdriver.PhantomJS() 
    File "/home/shaan/.local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__ 
    self.service.start() 
    File "/home/shaan/.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 

Jak dodać phantomjs do mojej zmiennej PATH? Używam ubuntu 16.04 i instaluję selen przez npm install selenium.

+0

Czy zainstalowane są phantomjs? –

+0

To powinno być. Czy jest jakikolwiek sposób, aby dwukrotnie sprawdzić? – quantumbutterfly

+1

Czy 'które phantomjs'. Jeśli go nie ma, po prostu przenieś go do/usr/bin lub dowolnego innego miejsca w twojej PATH – pguardiario

Odpowiedz

9

trzeba pobrać DRIVER

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

6

Roztwór roboczy:

Assumming jesteś na oknach - jest podobny do linux

1) Pobierz phantomjs tutaj: http://phantomjs.org/download.html wybierz odpowiednio windows/linux

2) rozpakuj twój phantomjs-2.1.1-windows.zip i zapisz go na przykład na dysku c takim jak C: \ phantomjs-2.1.1-windows \ bin (tutaj jest plik phantomjs.exe, który jest wykonaniem, którego twój system potrzebuje)

3) w Windows 10 edytować ścieżkę środowiska włączenie tej bin folder C: \ phantomjs-2.1.1-windows \ bin takie jak ten przykład enter image description here

4) może lub nie może się ponownie uruchomić komputer. Gotowe! to powinno działać! (Webdriver szuka phantomjs.exe i powinna być już gotowa)

1

Rozwiązałem sam promlem z tego polecenia w wierszu poleceń

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

To praca czy/home/login/phantomjs/bin jest ścieżką dla folder z wykonywalnym "phantomjs".