Coding/Python

[Python] Selenium 백그라운드(Headless)로 돌리기

junedev 2019. 10. 16. 21:09

Selenium Headless

Selenium 라이브러리는 webdriver를 통하여 직관적으로 가상 웹 브라우저로 돌려볼 수 있다는 장점이 있습니다.

하지만 가끔씩은 돌릴 때 마다 브라우저 창이 열리면서 입력되는 것이 귀찮고, 괜히 프로그램이 무거워질 우려가 있습니다.

이번 포스팅에서는 브라우저를 열지 않고, 백그라운드에서 Selenium을 돌리는 법을 소개합니다.

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")

driver = webdriver.Chrome(options=options)

driver.get('http://naver.com')
driver.implicitly_wait(3)
driver.get_screenshot_as_file('naver_main_headless.png')

driver.quit()

webdriver.ChromeOptions() : 저는 크롬 브라우저를 사용하기 때문에 options에다가 ChromeOptions를 넣어줍니다.

options.add_argument('headless')로 추가해줍니다.

이렇게 구동시키면 따로 웹 브라우저가 열리지 않고, 백그라운드로 돌아가게 됩니다.

이 코드는 네이버를 열고, 스크린샷을 따오는 코드로 잠시 기다리거나, 분기를 넣어준 뒤 기다리면

스크린샷이 저장되는 걸 볼 수 있습니다.