14

Я пытаюсь заставить Selenium использовать phantomjs на компьютере с Windows. Мой код компилируется без ошибок:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import cookielib
import re
from splinter import Browser

driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')

Но каждый раз, когда я запускаю его, я получаю ошибку

Traceback (most recent call last):
  File "E:/~PROJECT/disinfo/py/bs.py", line 8, in <module>
    driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py", line 50, in __init__
    self.service.start()
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\service.py", line 63, in start
    raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)
selenium.common.exceptions.WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen 

Я получаю эту ошибку в течение нескольких часов. "Невозможно запустить фантомы с ghostdriver". Простейшие примеры онлайн показывают установку селена с PIP, а затем фантомов с NodeJS NPM, как я это сделал. Местоположение Selenium в моей PYTHONPATH также. Я, честно говоря, понятия не имею, какого черта эта штука хочет от меня. Есть идеи?

2 ответа2

19

Я столкнулся с той же проблемой. Мне нужно было предоставить полный путь к exe, как описано в документации:

from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='C:\phantomjs-1.9.2\phantomjs.exe')
2

Вам нужно изменить ...\Python27\Lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\service.py

Эта кодовая страница Google поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .