

python3.4  
PhantomJS 2.1.1  
selenium 3.0.2  
OS X 10.10.5

$which phantomjs  
/usr/local/bin/phantomjs

$phantomjs  
phantomjs>（起動してる。。？）  
となっております。

~~PhantomJSは/usr/local/bin/phantomjsにあり、~~ 。  
~~PATH=$PATH:/usr/local/bin/phantomjsでパスが通るようにしました。~~ 。

現在、下記のコードを実行するとエラーが出てしまいます。  
なにか考えられる原因などはありますでしょうか？  
かなり初歩的な質問になってしまうと思いますが、どうぞよろしく御願いいたします。

[code]

    import lxml.html
    from selenium import webdriver
    
    target_url = '~~~~~~~'
    driver = webdriver.PhantomJS()
    driver.get(target_url)
    
[/code]

>
[code]

>           Traceback (most recent call last):   File
>       "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-
> packages/selenium/webdriver/common/service.py", line 74, in start
>           stdout=self.log_file, stderr=self.log_file)   File
> "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/subprocess.py",
>       line 859, in __init__
>           restore_signals, start_new_session)   File
> "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/subprocess.py",
>       line 1463, in _execute_child
>           raise child_exception_type(errno_num, err_msg) FileNotFoundError:
> [Errno 2] **No such file or directory: 'phantomjs'**
>      During handling of the above exception, another exception occurred:
>  
>      Traceback (most recent call last):
>      File "/Users/kojisugano/Documents/python/動的ページ＿スクレイピング.py", line 5,
> in <module>  
>        driver =
> webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs ')
>      File
> "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-
> packages/selenium/webdriver/phantomjs/webdriver.py", line 52, in __init__
>     self.service.start()
>      File
> "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-
> packages/selenium/webdriver/common/service.py", line 81, in start
>     os.path.basename(self.path), self.start_error_message)
>     selenium.common.exceptions.WebDriverException: Message: 'phantomjs '
> executable needs to be in PATH.
>  
[/code]

下記の質問によるとexecutable_pathを書いたり、pythonの下にphantomjsを入れています。ネット上のほとんどの方は、PATHを通してexecutable_pathを書かずに利用していますが、こちらの下記の質問のようなやり方がいいのでしょうか？？  

[code]

    webdriver.PhantomJS(executable_path="~~~~~")
    
[/code]

<https://stackoverflow.com/questions/29869757/selenium-phantomjs-raises-error>


CC BY-SA 3.0
2017-02-17T13:36:14.213
32752
2017-02-18T13:52:00.043
2017-05-23T12:38:56.467
-1
18434
question
python linux phantomjs
PythonでPhantomJSが使えない