Próbuję przekonać Selenium do korzystania z phantomjs na komputerze z systemem Windows. Mój kod kompiluje się bez żadnego błędu:
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')
Ale za każdym razem, gdy go uruchamiam, pojawia się błąd
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
Ten błąd pojawia się od wielu godzin. „Nie można uruchomić phantomjs za pomocą Ghostdriver”. Najprostsze przykłady online pokazują instalowanie selenu z PIP, a następnie phantomjs z NodeJS NPM, tak właśnie zrobiłem. Lokalizacja Selenium znajduje się również w mojej PYTHONPATH. Szczerze mówiąc, nie mam pojęcia, do diabła, czego ta rzecz ode mnie chce. Jakieś pomysły?
Odpowiedzi:
Natrafiłem na ten sam problem. Musiałem podać pełną ścieżkę do pliku exe, jak opisano w dokumentacji :
źródło
Musisz zmodyfikować
...\Python27\Lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\service.py
Ta strona kodowa Google pomogłaby.
źródło