cs

고되고 길고 슬픈 한주였다.

 

큰 이슈가 아니겠지 했지만, 사소한 실수로 큰사고로 번져서 우리 팀원들은 물론 여러사람 힘들게했다.

 

감사하게 팀을 정말 정말 잘 만난 덕분에 정말 잘 위로받고 도움받고 수습?했지만,, 그래도 슬퍼... 

(각성해서 다 자동화할거야 정말..)

 

또 몇주동안 기다렸던 야구장도 그놈의 비 때문에 취소되고ㅠ 

 

제주도에서도 비만오고, 뭐 하려면 비오고, 쉬면 비오고, 야구장 우천취소 등등... 날씨 요괴가 된게 틀림없다. 

 

날씨는 둘째고, 다시는 실수하지 않게 각성하고 열심히 다시 힘내쟈..! 


이번 글은 그냥 안쓰려다가, 먼가 간단하게 해결하는 방법을 찾아서 써본다.

(참고로 맥북 M1 Pro입니다. )

 

셀레니움으로 크롬드라이브를 켜서 크롤링을 할때가 가끔 있는데, 

 

OSError: [Errno 8] Exec format error: '/Users/user/.wdm/drivers/chromedriver/mac64/.'여기에숫자가있을거임'../chromedriver-mac-arm64/THIRD_PARTY_NOTICES.chromedriver'

 

갑작스래 이딴 애러가 발생했다..

 

분명 잘 돌아가던 코드였는데 머지머지 하면서 구글링 때려보니 

 

캐시의 문제다 잘못된 드라이버의 문제다, 업데이트 문제다 등등 뭐 많았고 GPT물어봐도 

'다운로드된 크롬드라이버 바이너리가 실행 가능한 형식이 아니기 때문에 발생합니다. 이는 주로 ARM 아키텍처용이 아닌 x86 아키텍처용 드라이버를 다운로드하려고 할 때 발생할 수 있습니다.'

 

이렇게 알려준다. 

 

stackoverflow랑 다른 구글링 자료에서는  뭐 다운받고 어디 위치에 뭐 깔고 옮겨주고... 난 코드 들여다보기 싫은걸?.. 

 

 

간단히 해결해보는 방법:

1.기존 드라이버 삭제:

terminal에서

rm -rf /Users/simbbo/.wdm/drivers/chromedriver/mac64/'숫자'/

 

요고 날려서 지워버린다.

 

위의 애러에서 보면 숫자가 있는데 '숫자'자리에 넣어서 실행시키면 뭐 아무 변화없이 삭제가 된다. 

 

2. 올바른 드라이버 재설치:

파이썬 가서 webdriver-manager를 사용하여 올바른 드라이버를 설치할 때 ARM64 아키텍처용 드라이버를 다운로드하도록 설정하고 실행해버린다. 

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 환경변수 설정 (ARM64 아키텍처용 드라이버를 다운로드)
import os
os.environ['WDM_ARCH'] = 'arm64'

# 옵션 생성
options = webdriver.ChromeOptions()

# 크롬드라이버 설치 및 경로 설정
service = Service(ChromeDriverManager().install())

# 크롬 웹드라이버 초기화
driver = webdriver.Chrome(service=service, options=options)

 

이렇게 하면 크롬드라이버가 잘 열릴거고, 

 

기존의 코드를 실행하면 아름답게 실행이 된다. 

 

 

+ Recent posts