인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

빅데이터 파이프라인 마스터; 성공을 위한 도구와 기술

[실습] Crawling and Scraping (Urllib, BS4, Selenium)

Selenium 실습_chromedriver 에러 문의

해결된 질문

작성

·

967

1

안녕하세요 실습1강 팔로우중 문의사항이 생겨 글 드립니다.

chrome 과 chrome driver 설치하여 selenium 실행 시, 아래와 같은 에러로 실행이 되지않습니다.

 

해당 에러를 해결하기위해

  • chrome/chrome-driver 버전 맞춰서 설치

  • selenium 다운그레이드 및 재설치 등 버전별 검토

  • chromedriver 경로: find 명령어 사용하여 조회

  • 기타 코드 추가
    chrome_options = webdriver.ChromeOptions()

    chrome_options.add_argument('--headless') ...

     

어떤 수정이 필요한건지 알 수 있을까요?


에러메세지

Traceback (most recent call last):

File "/home/ian/2023_BIGDATA/5_selenium.py", line 11, in <module>

driver = webdriver.Chrome('/home/ian/2023_BIGDATA/chromedriver')

File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in init

RemoteWebDriver.__init__(

File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in init

self.start_session(capabilities, browser_profile)

File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session

response = self.execute(Command.NEW_SESSION, parameters)

File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute

self.error_handler.check_response(response)

File "/home/ian/2023_BIGDATA/venv2023/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response

raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.

(unknown error: DevToolsActivePort file doesn't exist)

(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

 


실습 코드

from selenium.webdriver.common.by import By

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()

chrome_options.add_argument('--headless')

chrome_options.add_argument('--no-sandbox')

chrome_options.add_argument("--single-process")

chrome_options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome('/home/ian/2023_BIGDATA/chromedriver')

driver.implicitly_wait(2)

driver.get('https://www.daum.net/') 

답변 2

1

J.PHIL님의 프로필 이미지
J.PHIL
지식공유자

안녕하세요 seoan.lee님,

우선 기다려주셔서 감사합니다. 제가 지금 복귀해서 재현을 해보기 위해 여러가지 방법을 시도해보고 있습니다. 먼저 제공해주신 코드도 저에게 잘 동작하고, 사실 제 머신에서는 chrome_options가 없어도 잘 동작합니다.

일단 제가 직접 리모트 컨트롤 하기 어려운 상황이니, 밑에 사항 순차적으로 시도 및 답변해주세요~
하나씩 계속 서로 트라이해보면 해결할 수 있을 것 같습니다.

1. 저는 사실 옵션이 안되도 잘 동작하나, 일단 제공하신 Traceback을 봤을때 옵션으로 해결할 수 있는데, 제공해주신 이 코드와 비슷한 부분을 봐주세요. driver = webdriver.Chrome(path, chrome_options=chrome_options) 코드와 같이 뒷 부분에 옵션 파라미터를 주고 동작해봅니다.
2. 현재 도커가 아닌 로컬에서 코드 실행하신거죠? 실습과 같다면 루트 유저가 아닌 ian username venv으로? 만약 도커라면 로컬로 시도 한번 해주세요.
3. 혹시 보통 chrome 말고 chromium도 사용하시나요?
4. 여기까지 해서 안되면 chrome version 들어가셔서 캡쳐해서 공유 부탁드립니다.

0

J.PHIL님의 프로필 이미지
J.PHIL
지식공유자

안녕하세요 seoan.lee님,

제가 직접 수강생분의 코드를 입력해서 디버깅을 해보아야 원인을 정확히 알 수 있을듯 한데, 혹시 죄송하지만 괜찮으시면 주말까지 알려드려도 될까요? 제가 주말에 귀가할 수 있을듯해서요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기