• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    해결됨

Selenium 실습_chromedriver 에러 문의

23.09.04 23:45 작성 조회수 643

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

안녕하세요 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

안녕하세요 seoan.lee님,

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