PhantomJS with Selenium error: Message: 'phantomjs' executable needs to be in PATH

quantumbutterfly picture quantumbutterfly · Jun 19, 2016 · Viewed 50.4k times · Source

I am attempting to run this script:

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

However, the script fails at the line session = webdriver.PhantomJS() with the following error

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

How do I add phantomjs to my PATH? I am running ubuntu 16.04 and installed selenium via npm install selenium.

Answer

Leon Barkan picture Leon Barkan · Jun 19, 2016

you need to download the DRIVER

after that session = webdriver.PhantomJS("c:\driverPath")