web-dev-qa-db-ja.com

Selenium / PhantomJSでエラーが発生する

PhantomJSドライバーをPythonで実行しようとしていますが、エラーが発生します。パス全体を引数として渡す必要があることを読みましたが、役に立ちませんでした。

コードは次のとおりです。

from Selenium import webdriver

# driver = webdriver.Chrome('D:\Python_projects\chromedriver_win32/chromedriver.exe') # this works
driver = webdriver.PhantomJS(executable_path='D:\Python\phantomjs-2.0.0-windows\bin\phantomjs.exe')

エラー:

Traceback (most recent call last):
  File "path to script", line 8, in <module>
    driver = webdriver.PhantomJS(executable_path='D:\Python\phantomjs-2.0.0-windows\bin\phantomjs.exe')
  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 75, 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

私が間違っていることを知っていますか?

9
Milano

生の文字列でパスを作成し、「r」を追加します。

driver = webdriver.PhantomJS(executable_path=r'D:\Python\phantomjs-2.0.0-windows\bin\phantomjs.exe')
12
WEI YU

簡単にするために、実行可能ファイルをスクリプトと同じディレクトリに配置します。

driver = webdriver.PhantomJS() # now there's no need for a path
10
Malik Brahimi

私の場合、これは正常に機能し、PhantomJSのパスを指定する必要もありません。pipinstallphantomjsをインストールする必要があります-pipを使用したバイナリバイナリパッケージ

pip install phantomjs-binary

約60MBのパッケージをダウンロードします。実行環境に応じて、Windows、Mac、およびLinux用のPhantomJSが含まれています。その後、あなたはそれを使うことができます

from Selenium import webdriver
from phantomjs_bin import executable_path

driver = webdriver.PhantomJS(executable_path=executable_path)
0
Sameer Narkhede

私にとって、上記のどれも問題を解決しませんでした。私はコードを見つけました:

driver = webdriver.PhantomJS()

ルートに対してのみ機能します...

0
Allan Cascante