headless 모드 처리 방식이 변경될 예정입니다. 다가오는 Selenium 4.8.0 릴리스에서는 headless 모드를 설정하는 편의 메서드가 폐지됩니다. 대신 사용자는 브라우저 옵션을 구성할 때 인수를 통해 이를 정의해야 합니다.
변경 이유
Chrome과 같은 크로미움 기반 브라우저에서 이제 두 가지 다른 headless 모드를 제공합니다. Selenium의 기존 편의 메서드는 크로미움에서 제공하는 초기 headless 모드를 사용합니다. 이 메서드의 폐지로 시작하여 Selenium 4.8.0에서 이를 사용하지 않게 되며 4.10.0 버전에서는 완전히 제거됩니다. 이로써 사용자는 두 headless 모드 중에서 선택할 수 있게 됩니다.
두 가지 headless 모드
- 전통적인 headless 모드 (--headless): 기존에 사용되던 헤들리스 모드입니다.
- 새로운 headless 모드 (--headless=new): 96 버전에서 소개된 이 모드는 사용자가 확장 프로그램을 실행하는 등 브라우저의 모든 기능에 액세스할 수 있습니다.
Selenium과 함께 더 나은 헤들리스 경험을 위해 --headless=new를 사용하는 것이 좋습니다.
현재 headless 모드 설정
Selenium의 접근 방식 변경으로 사용자는 브라우저 옵션에서 원하는 헤들리스 모드를 인수로 지정해야 합니다. Chrome의 경우 이전과 이후를 비교해 봅시다.
이전:
options = ChromeOptions()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get('http://selenium.dev')
driver.quit()
이후:
options = ChromeOptions()
options.add_argument("--headless=new")
driver = webdriver.Chrome(options=options)
driver.get('http://selenium.dev')
driver.quit()
자세한 내용은 위 링크에서 확인해 보실수 있습니다. https://www.selenium.dev/blog/2023/headless-is-going-away/