Selenium 헤드리스 실행: 화면 크기와 종료 처리

헤드리스 모드는 브라우저 UI 없이 실행하는 옵션이며, 모든 페이지가 일반 창과 완전히 같은 상태가 되는 것을 보장하지 않습니다.

어떤 상황에서 적용하나요?

다음은 Chrome과 Selenium이 설치된 환경에서 로컬 data URL을 여는 예제입니다. 설치와 브라우저 실행이 필요한 수동 검증 예제로, 외부 사이트나 로그인 자료를 수집하지 않습니다.

검증 범위: 아래 코드는 문법을 점검한 GUI·브라우저 예제입니다. 이 사이트의 점검 환경에서는 실제 창 실행을 검증하지 않았으며 해당 실행 환경에서 수동 확인이 필요합니다.

최소 예제로 동작 확인하기

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless=new")
options.add_argument("--window-size=1200,800")
driver = webdriver.Chrome(options=options)
try:
    driver.get("data:text/html,<title>Local demo</title><h1>Report</h1>")
    assert driver.title == "Local demo"
    print(driver.title)
finally:
    driver.quit()

결과는 어떻게 확인하나요?

동작 환경에서는 Local demo가 출력되고 finally에서 브라우저가 종료됩니다. 제목이 다르거나 브라우저 생성에 실패하면 Chrome·Selenium 버전과 드라이버 준비 상태부터 확인하세요.

실제 업무에 적용할 때 확인할 점

뷰포트, 글꼴, 다운로드 경로와 화면 요소의 대기 조건을 명시하세요. 헤드리스 실행은 접근 권한 제한이나 봇 정책을 우회하는 허가가 아닙니다. 무조건 메모리가 줄거나 더 빠르다고 가정하지 말고 자신의 작업에서 측정해야 합니다.

공식 자료와 다음 단계

관련 공식 문서에서 사용하는 버전의 기능과 제한을 확인하세요.

학습 경로: 웹 스크래핑 가이드 · 요청 정책과 헤더

작성: 로그 · 2026-10-17 수정: 확인되지 않은 경험담과 성능 보장 표현을 제거하고 예제·적용 조건·공식 근거를 보완했습니다.

댓글

이 블로그의 인기 게시물

API 키 저장 방법: 해싱과 암호화의 차이, Fernet 예제

파이썬 Google Sheets API 연동: 서비스 계정 권한과 읽기·쓰기

Pandas 결측치 처리: isna, fillna, dropna 선택 기준