제일 먼저 크롬 옵션을 설정해야 합니다. Chrome 옵션을 설정하는 이유는 Selenium이 브라우저를 자동으로 실행할 때, 원하는 동작 방식으로 제어하기 위해서입니다. 기본적으로 Chrome WebDriver는 일반적인 브라우저처럼 동작하지만, 크롤링이나 자동화 작업을 할 때 더 빠르고 안정적으로 실행하려면 추가적인 설정이 필요합니다.
# Set up Chrome options
# Customize the behavior of the Chrome browser when you launch it with WebDriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--headless") # Operates in the background without showing the browser window
chrome_options.add_argument("--disable-gpu") # Disable GPU acceleration
chrome_options = webdriver.ChromeOptions()
webdriver.ChromeOptions() 객체를 생성하여 Chrome 브라우저의 동작을 커스터마이징할 수 있도록 합니다.
chrome_options.add_argument("--start-maximized")
브라우저를 최대화된 상태로 시작합니다. 창 크기를 자동으로 맞춰주므로, 특정 요소를 찾을 때 뷰포트 크기 문제를 방지할 수 있습니다.
chrome_options.add_argument("--headless")
헤드리스 모드(Headless mode)는 브라우저 창을 띄우지 않고 백그라운드에서 실행되도록 합니다. 화면을 볼 필요 없이 크롤링이나 테스트를 수행할 때 유용합니다. UI가 필요할 경우 이 옵션을 제거하면 브라우저 창이 실제로 열립니다.
chrome_options.add_argument("--disable-gpu")
GPU 가속 비활성화는 헤드리스 모드에서 발생할 수 있는 렌더링 오류를 방지하기 위해 사용됩니다. 일부 환경(특히 Windows)에서 GPU 가속을 끄지 않으면 Selenium 실행 중 충돌이 발생할 수 있습니다.
# Initialize the WebDriver to automate interactions with a web browser
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=chrome_options)
service = Service(ChromeDriverManager().install())
ChromeDriverManager().install()은 웹 드라이버(ChromeDriver)를 자동으로 다운로드 및 관리해 줍니다. Service() 객체를 생성하여 WebDriver가 사용할 ChromeDriver를 실행하는 서비스를 만듭니다.
driver = webdriver.Chrome(service=service, options=chrome_options)
Selenium WebDriver를 실행하며, 위에서 설정한 service(ChromeDriver)와 chrome_options(브라우저 설정)를 적용합니다. 이 줄이 실행되면 브라우저가 자동으로 실행되며, headless 옵션이 설정되어 있으면 백그라운드에서 실행됩니다.
다음 포스팅에서 이어집니다.
'Computer Science > Project' 카테고리의 다른 글
파이썬 프로젝트 (아마존 웹사이트 웹 스크래핑) 6 | Selenium으로 제품 정보 수집하기 (2) (0) | 2025.03.21 |
---|---|
파이썬 프로젝트 (아마존 웹사이트 웹 스크래핑) 5 | Selenium으로 제품 정보 수집하기 (1) (0) | 2025.03.20 |
파이썬 프로젝트 (아마존 웹사이트 웹 스크래핑) 4 | Selenium을 사용하여 아마존 로그인 자동화하기 (0) | 2025.03.19 |
파이썬 프로젝트 (아마존 웹사이트 웹 스크래핑) 2 | 프로젝트 개요, Selenium (0) | 2025.03.17 |
파이썬 프로젝트 (아마존 웹사이트 웹 스크래핑) 1 | 웹 스크래핑(Web Scraping)이란? (0) | 2025.03.16 |