데이터 분석

Selenium 설정

jaewpark 2024. 8. 5. 11:27

ChromeOptions

브라우저 창을 숨기는 설정

브라우저를 GUI 없이 실행

options = webdriver.ChromeOptions()
options.add_argument("--headless")
# options.add_argument("--headless=new")

 

사람처럼 보이게

브라우저가 서버와 통신할 때 자신을 나타내기 위해 User-Agent를 보낸다.
이를 통해 브라우저 유형과 운영 체제를 식별 가능하다.
봇 탐지하는 것을 피하는 방법이다.

options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")

 

리눅스에서 사용

--no-sandbox 는 리눅스에서 셀레니움이 적절히 동작하지 않을 때 사용
--disable-dev-shm-usage 는 일부 리눅스 시스템에서 발생하는 문제를 해결하기 위해 /dev/shm 을 사용하지 않도록 설정

options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")

 

브라우저 창 최대화

options.add_argument("--start-maximized")

 

비활성화

-disable-extensions 는 모든 확장을 비활성화
-disable-gpu GPU 가속을 비활성화

options.add_argument("-disable-extensions")
options.add_argument("-disable-gpu")

 

프로세스가 종료되어도 브라우저 열어두기

창을 닫더라도 driver 유지

options.add_expermental_option("detach", True)

 

드라이버 설정

페이지 로딩이 완료될 때까지 10초 기다리도록 설정

driver.implicitly_wait(10)