このスクリプトを実行しようとしています:
https://github.com/Chillee/coursera-dl-all
ただし、スクリプトはsession = webdriver.PhantomJS()
行で次のエラーで失敗します
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
PhantomjsをPATHに追加するにはどうすればよいですか?私はubuntu 16.04を実行しており、npm install Selenium
経由でSeleniumをインストールしています。
コマンドラインでこのコマンドで同じ問題を解決しました
export PATH=${PATH:+$PATH:}/home/<login>/phantomjs/bin
/ home/login/phantomjs/binが実行可能な 'phantomjs'を含むフォルダーのパスである場合に機能します。
[〜#〜] driver [〜#〜] をダウンロードする必要があります
その後session = webdriver.PhantomJS("c:\driverPath")
ワーキングソリューション:
あなたがWindows上にいると仮定すると-Linuxでも同様です
1)ここからphantomjsをダウンロードします。 http://phantomjs.org/download.html 適宜Windows/Linuxを選択します
2)phantomjs-2.1.1-windows.Zipを解凍し、C:\ phantomjs-2.1.1-windows\binなどのcドライブに保存します(ここには、実行するphantomjs.exeがあります)システムのニーズ)
3)Windows10では、この例のように環境パスを編集して、このbinフォルダーC:\ phantomjs-2.1.1-windows\binを含めます
4)マシンを再起動する場合としない場合があります。できた!動作するはずです! (Webdriverはphantomjs.exeを探し、準備ができているはずです)
実行可能パスを指定する必要があります。これは、Linuxまたはより正確にはUbuntu用です。
実行可能ファイルを含むディレクトリパスではなく、実行可能ファイルパス(完全)を指定する必要があります。
driver = webdriver.PhantomJS(executable_path='Complete path/to/phantomjs')
ドライバーは必要ありません。
Ubuntu 16.04でうまく機能しました。
1. https://phantomjs.org/download.html からPhantomjs実行可能ファイルをダウンロードします2. phantomjs.exeをC:\ Python27\Lib\site-packages\Selenium\webdriver\phantomjsにコピーします3.追加環境変数キー「PATH」の下のパスC:\ Python27\Lib\site-packages\Selenium\webdriver\phantomjs
私はPyCharmを使用しているので、上記の設定が完了したらPycharmを再起動する必要がありました
phantomjs.exe
システム環境に既に追加されているPython scriptsディレクトリにpythonディレクトリパスは次のようになります
C:\Users\[user]\AppData\Local\Programs\Python\Python[version]\Scripts
# you can use it as following
from Selenium import webdriver
driver = webdriver.PhantomJS()