PhantomJS с ошибкой Selenium: Сообщение: исполняемый файл phantomjs должен находиться в PATH

Я пытаюсь запустить этот скрипт:

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

Однако сценарий завершается неудачно в строке session = webdriver.PhantomJS() со следующей ошибкой

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

Как мне добавить фантомы в мою PATH? Я использую Ubuntu 16.04 и установил selenium через npm install selenium.

Ответ 1

Я решил такой же promlem с этой командой в командной строке

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

Работает, если /home/login/phantomjs/bin - это путь к папке с исполняемыми фантомными файлами.

Ответ 2

вам нужно скачать DRIVER

после этого session = webdriver.PhantomJS("c:\driverPath")

Ответ 3

Рабочее решение:

Усвоение вас на windows - похоже на linux

1) скачать phantomjs здесь: http://phantomjs.org/download.html соответственно выбрать windows/linux

2) разархивируйте свой phantomjs-2.1.1-windows.zip и сохраните его, например, на диске c, например: C:\phantomjs-2.1.1-windows\bin (здесь есть phantomjs.exe, который является выполнить, что требуется вашей системе)

3) В Windows10 измените свой путь к среде, чтобы включить эту папку bin C:\phantomjs-2.1.1-windows\bin, такую ​​как этот пример введите описание изображения здесь

4) вы можете или не перезапустить свой компьютер. Готово! он должен работать! (Webdriver ищет phantomjs.exe, и он должен быть готов сейчас)

Ответ 4

Вам необходимо указать путь к исполняемому файлу. Это для Linux или, точнее, для Ubuntu.

Вы должны указать путь к исполняемому файлу (полный), а не путь к каталогу, в котором находится исполняемый файл.

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

Не требует никаких драйверов.

У меня хорошо работало на Ubuntu 16.04.

Ответ 5

Почему бы вам не использовать самый простой способ и не пройти phantomjs.exe

в каталог скриптов Python, который уже добавлен в системную среду путь к каталогу Python должен быть примерно таким:

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

Ответ 6

1. Загрузите исполняемый файл Phantomjs из https://phantomjs.org/download.html 2. скопируйте phantomjs.exe в C:\Python27\Lib\site-packages\selenium\webdriver\phantomjs 3. Добавьте путь C:\Python27\Lib\site-packages\selenium\webdriver\phantomjs под ключом переменной среды "PATH"

так как я использую PyCharm, мне пришлось перезапустить Pycharm после того, как вышеуказанные настройки сделаны