오류내용
Message: session not created: Chrome failed to start: crashed.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer ru
nning, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
배경
winrm을 통한 원격 실행도중 셀레니움에서 오류 발생, 평소 로컬실행에서는 발생하지 않았던 오류
해결방법
- chrome_options.add_argument("--no-sandbox") 옵션추가
chrome_options = Options() chrome_options.headless = True chrome_options.add_experimental_option('prefs', { "download.default_directory": path_daily_download, "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing.enabled": True }) # 샌드박스 모드는 보안 기능이지만, 일부 환경에서는 충돌을 일으킬 수 있습니다. # 이를 비활성화하여 충돌을 방지합니다. chrome_options.add_argument("--no-sandbox")
이유 분석
1. 샌드박스 모드와 권한 문제
샌드박스 모드는 브라우저가 실행되는 환경을 격리하여 보안을 강화하는 기능입니다. 이는 프로세스가 제한된 권한으로 실행되도록 하여 시스템을 보호합니다. 그러나 특정 환경에서는 샌드박스 모드가 문제를 일으킬 수 있습니다.
권한 부족
- 샌드박스 모드는 추가적인 보안 제약을 가합니다. 원격 서버 또는 가상화된 환경에서는 브라우저가 필요한 시스템 리소스에 접근하지 못할 수 있습니다.
- 샌드박스 모드가 활성화된 상태에서는 Chrome이 시스템 리소스에 대한 접근 권한이 제한되어 브라우저가 제대로 실행되지 않을 수 있습니다.
2. 원격 및 가상화 환경에서의 제한
리소스 접근 제한
- 원격 데스크톱 또는 가상 머신에서 실행할 때, 샌드박스 모드가 시스템의 가상화 및 리소스 제한과 충돌할 수 있습니다.
- 가상화된 환경에서는 프로세스 격리와 자원 제한이 기본적으로 설정되어 있어 샌드박스 모드와 충돌할 가능성이 큽니다.
3. 브라우저 및 시스템 간의 충돌
시스템 보안 설정
- 특정 시스템 보안 설정이 샌드박스 모드와 충돌하여 Chrome이 제대로 실행되지 않을 수 있습니다.
- 예를 들어, Windows의 사용자 계정 컨트롤(UAC) 설정이나 다른 보안 소프트웨어가 샌드박스 모드의 동작을 방해할 수 있습니다.
'오류 해결 과정' 카테고리의 다른 글
험난했던 원격 실행 도전기(PsExec,WinRMOperator) (0) | 2024.07.15 |
---|---|
가상 환경 활성화 후 스크립트 실행 시 오류 (0) | 2024.07.10 |
win32com 모듈 ssh 미동작 에러 (0) | 2024.07.02 |
(python 설치 에러) A newer version of the Python launcher is already installed (1) | 2024.06.19 |
Poetry 사용 시 도커 컨테이너쉘에서 모듈 미 설치 현상 (0) | 2024.06.12 |