Python / Selenium / PhantomJS : "고스트 드라이버로 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 

몇 시간 동안이 오류가 발생했습니다. "고스트 드라이버로 phantomjs를 시작할 수 없습니다". 가장 간단한 온라인 예는 PIP로 셀레늄을 설치 한 다음 NodeJS NPM으로 phantomjs를 설치하는 방법을 보여줍니다. Selenium의 위치는 내 PYTHONPATH에도 있습니다. 솔직히이 일이 내게 원하는 게 뭔지 모르겠습니다. 어떤 아이디어?


한 번 작동했던 기본 코드와 동일한 문제는 처음에 파이썬 구조를 깨뜨렸다 고 생각했습니다.
셰인

1
웰프, phantomjs의 개발자가 파이썬 바인딩이 뒤에 있다는 것을 인정한 것 같습니다. github.com/detro/ghostdriver/issues/236 phantomjs 를 사용하는 데 많은 도움이됩니다. 나는 팬텀을 삶에 얽매 기 위해 몇 번의 **** ing 시간을 보내기 전에 알고 있었을 것입니다.
Amalgovinus

1
같은 느낌입니다. 대규모 커뮤니티에서 관리하지 않는 한 라이브러리가 아닌 코드를 배우는 것이 왜 그렇게 중요한가? 열심히 노력하여 돈을 버지 않으면 특히 한 사람이 자신의 프로젝트를 유지할 것으로 기대할 수 없습니다.
Shane

답변:


19

나는 같은 문제에 부딪쳤다. 설명서에 설명 된대로 exe의 전체 경로를 제공해야했습니다 .

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

이것은 실제로 전화 걸기를 허용했습니다. 이제 유일한 문제는 인쇄하려는 모든 요소에 "selenium.webdriver.phantomjs.webdriver.WebDriver 객체 0x0000000002F54668"또는 유니 코드 ID를 제공한다는 것입니다. 대신 lorien 's Grab을 추천합니다. bitbucket.org/lorien/grab/src/…
Amalgovinus

실화 !! 내가 5 번 투표 할 수 있으면 좋겠다.
HelloW

나를 위해 작동하지 않았다 ... DT_Lvhyy의 답변에 따라 service.py를 편집해야했습니다.
Deep-B

우분투와 리눅스 시스템처럼 보입니다. 루트에서 디렉토리까지의 실제 경로 여야합니다
Delos Chang

2

수정해야합니다 ...\Python27\Lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\phantomjs\service.py

Google 코드 페이지 가 도움이 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.