데이터 분석
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)