최신목록

2020년 7월 23일 목요일

[python]웹 사이트 이미지 캡쳐(phantomjs, chromedriver)

웹 사이트 이미지를 캡쳐하려고 하는데  phantomjs를 사용하는데 오류가 났다.

<소스코드>
from selenium import webdriver
browser = webdriver.PhantomJS(executable_path="/usr/local/bin/phantomjs")

<오류내용>
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
 warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
WebDriverException: Message: can not connect to the service /usr/local/bin/phantomjs

<ps 내용>
root        91    87  1 23:27 pts/0    00:00:00 /usr/local/bin/phantomjs --cookies-file=/tmp/tmpforl8wrl --webdriver=43509

43509포트로  phantomjs가 떠있다가 위의 오류내용을 뿌리고 죽어있는것을 확인함. 동작할려고 노력은 했다는 얘기...

phantomjs 말고 chrome 인 firefox를 쓰라고 되있고 headless version을 사용하라고 한다.

먼진몰라도 하라는데로 해봄.
먼저 chromedriver를 설치함.

>apt install chromium-chromedriver

<소스코드>
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=options)

<오류내용>
WebDriverException: Message: can not connect to the service chromedriver

headless만 추가하니 비슷한 오류나 나온다.
옵션을 좀 추가해보자.
<소스코드>
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
browser = webdriver.Chrome(chrome_options=options)

여전히 문제가 발생한다. phantomjs 문제가 아니다.ㅠ

구글링하다보니 이상한 말이 있다. /etc/hosts 에 localhost를 추가하라는...앗...
docker ubuntu 환경에서 테스트 중이었는데 /etc/hosts 열어보니 내용이 1도 없다...하..

127.0.0.1 localhost

추가하고 실행하니 잘된다....잘못된 가설로 계속 시도하는것을 삽질이라고 했던가..ㅋ






댓글 없음:

댓글 쓰기