Python / Selenium / PhantomJS:「ghostdriverでphantomjsを起動できません。」


15

SeleniumにWindowsマシンでphantomjsを使用させようとしています。私のコードはエラーなしでコンパイルされます:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import cookielib
import re
from splinter import Browser

driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')

しかし、実行するたびにエラーが発生します

Traceback (most recent call last):
  File "E:/~PROJECT/disinfo/py/bs.py", line 8, in <module>
    driver = webdriver.PhantomJS('C:/Program Files (x86)/phantomjs-1.9.2-windows')
  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 63, 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 

何時間もこのエラーが発生しています。「ghostdriverでphantomjsを起動できません」。オンラインの最も簡単な例は、PIPでセレンをインストールし、次にNodeJS NPMでphantomjsをインストールすることを示しています。Seleniumの場所も私のPYTHONPATHにあります。私は率直に言って、この事が私に何を望んでいるのか分かりません。何か案は?


かつて機能していた基本的なコードに関する同じ問題は、私が最初にpython構造を壊したと思っていました。
シェーン

1
Welp、phantomjsの開発者はPythonバインディングが遅れていることを認めているようです。github.com/detro/ghostdriver/issues/236 phantomjsを使用するのはこれで終わりです。私がファントムジスを生き返らせるために数時間を費やす前に知っていたでしょう。
アマルゴビヌス

1
ここに同じ気持ち。大規模なコミュニティで管理されていない限り、ライブラリではなくコードを学ぶことが非常に重要である理由。特に大変な仕事でお金をmakingけない場合、一人の男がプロジェクトを維持することを期待することはできません。
シェーン

回答:


19

私は同じ問題に遭遇しました。ドキュメントに記載されているように、exeへのフルパスを提供する必要がありました:

from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='C:\phantomjs-1.9.2\phantomjs.exe')

これにより、ダイヤルアウトが可能になりました。現在、唯一の問題は、印刷しようとするすべての要素に、「0x0000000002F54668の「selenium.webdriver.phantomjs.webdriver.WebDriverオブジェクト」またはユニコードIDが与えられることです。代わりに、lorien's Grabをお勧めします。bitbucket.org/lorien/grab/src/...
Amalgovinus

実話!!5回投票できたらいいのに。
HelloW

うまくいかなかった... DT_Lvhyyの答えに従ってservice.pyを編集しなければならなかった。
ディープB 14

UbuntuとLinuxシステムのために、〜ルートからディレクトリへの実際のパスでなければなりませんように見えます
デロスチャンに

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.