FreeBSD Selenium PhantomJS - 서비스에 연결할 수 없습니다.

FreeBSD Selenium PhantomJS - 서비스에 연결할 수 없습니다.

나는 PhantomJS를 실행하기 위해 셀레늄을 사용해야 한다고 주장합니다. 그래서 FreeBSD Jail을 준비하고 포트를 통해 phantomjs를 설치했습니다.

whereis phantomjs
> phantomjs: /usr/local/bin/phantomjs /usr/ports/lang/phantomjs

/usr/local/bin/phantomjs -v
> 2.0.0

내 스크립트는 다음과 같습니다

from selenium import webdriver

PHANTOM_PATH = '/usr/local/bin/phantomjs'

driver = webdriver.PhantomJS(executable_path=PHANTOM_PATH)
driver.set_window_size(1024, 768)
driver.get('https://google.com/')
driver.save_screenshot('screen.png')
driver.quit()

그런데 이런 오류가 계속 발생하고 해결책을 찾을 수 없습니다.

File "driver.py", line 5, in <module>
driver = webdriver.PhantomJS(PHANTOM_PATH)
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
self.service.start()
File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 88, in start
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /usr/local/bin/phantomjs

Exception AttributeError: AttributeError("'NoneType' object has no attribute 'close'",) in <bound method Service.__del__ of <selenium.webdriver.phantomjs.service.Service object at 0x8007981d0>> ignored

답변1

"service_log_path"를 명시적으로 지정해 보세요.

driver = webdriver.PhantomJS(executable_path='/usr/local/bin/phantomjs', service_log_path='/tmp/ghostdriver.log')

관련 정보