Selenium with GhostDriver in Python on Windows
ghostdriver, phantomjs, python, selenium
Solution
This may have been a version issue for you, but since I just went through setting this up on my Windows 7 PC without issues I'm going to share my 'journey' here.
First of, I'm more used to the Mac/Linux Terminal and having the python package manager `pip` at my disposal is essential to me. After installing Python 2.7.8 and adding `;c:\Python27` to my PATH I noticed that `pip` isn't included with Python versions lower than 2.7.9, so I had to add it myself. Afterwards I added `;c:\Python27\Scripts` to my PATH.
After that fetching the python package `selenium` was as easy as typing the following into the cmd:
pip install selenium
Then I downloaded the `phantomjs-1.9.7-windows.zip` from here, unzipped it and placed it here:
C:\Python27\misc\phantomjs-1.9.7-windows\phantomjs.exe
From there I had a working Python 2.7/Selenium Webdriver/PhantomJS example for Windows 7.
from selenium import webdriver
import os
phantomjs_path = "C:\Python27\misc\phantomjs-1.9.7-windows\phantomjs.exe"
browser = webdriver.PhantomJS(executable_path=phantomjs_path, service_log_path=os.path.devnull)
browser.set_window_size(1400, 1000)
browser.get("https://stackoverflow.com/")
print browser.title
Note that I added the argument `service_log_path=os.path.devnull` to the function `webdriver.PhantomJS()` to prevent PhantomJS from creating a ghostdriver.log in the directory of the python file being executed.
Problem
This is embarrassing to ask because it seems like something with so slim chance of error. I wouldn't think this would be difficult, but I've been plugging away at this for almost 3 hours now and it's giving me a headache. I've read several dozen stackoverflow threads and Google threads. I've installed PhantomJS, added it to my System Variables PATH, and it works properly in the command line. I also installed Selenium earlier with easy_install. The error I get is: ``` __init__ C:\Python27\lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\webdriver.py 50 start C:\Python27\lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\service.py 66 WebDriverException: Message: 'Unable to start phantomjs with ghostdriver.' ; Screenshot: available via screen ``` Here's my code: ``` from selenium import webdriver driver = webdriver.PhantomJS(executable_path="C:\Python27\misc\phantomjs\phantomjs.exe") ``` I also tried: ``` from selenium import webdriver driver = webdriver.PhantomJS() ``` I get the same error message. This has to be something simple that I'm doing wrong. I'd appreciate any comments or answers. Windows 7 64 bit Python 2.7