web-dev-qa-db-fra.com

Python / Selenium / PhantomJS: "Impossible de démarrer phantomjs avec ghostdriver."

J'essaie de faire en sorte que Selenium utilise phantomjs sur une machine Windows. Mon code est compilé sans erreur:

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')

Mais à chaque fois que je le lance, j'obtiens l'erreur

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 

Je reçois cette erreur depuis des heures. "Impossible de démarrer phantomjs avec ghostdriver". Les exemples les plus simples en ligne montrent l’installation de Selenium avec PIP, puis de Phantomjs avec NodeJS NPM, c’est ainsi que j’ai procédé. Le sélénium se trouve également dans mon PYTHONPATH. Franchement, je n'ai aucune idée de ce que cette chose veut de moi. Des idées?

15
Amalgovinus

J'ai rencontré le même problème. Je devais fournir le chemin complet vers l'exe, comme décrit dans la documentation :

from Selenium import webdriver
driver = webdriver.PhantomJS(executable_path='C:\phantomjs-1.9.2\phantomjs.exe')
19
John

Vous devez modifier ...\Python27\Lib\site-packages\Selenium-2.39.0-py2.7.Egg\Selenium\webdriver\phantomjs\service.py

Cette page de code Google serait utile.

2
DT_Lvhyy