RPA 처리 시 실제 브라우저를 실행하지 않고 가상 브라우저로 처리하는 방법이 있다.
드라이버 생성 시 Headless 옵션을 주면 가능하다.
일부 사이트는 Headless를 통한 크롤링 접근을 차단하는 곳이 이에 대한 추가 옵션이 필요하다.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 브라우저 실행하지 않고 처리하기 옵션 (Headless로 실행하기)
# 참고 및 인용 : https://beomi.github.io/gb-crawling/posts/2017-09-28-HowToMakeWebCrawler-Headless-Chrome.html
op = Options()
# Headless 설정
op.add_argument('headless')
# 창 크기 설정
op.add_argument('window-size=1920x1080')
# GPU를 사용하지 않겠다는 설정
op.add_argument('disable-gpu')
# 브라우저의 User Agent 설정 (Headless는 User Agent에 HeadlessChrome이 표시된다)
# 나의 User Agent 확인 : m.avalon.co.kr/check.html
op.add_argument('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36')
# 브라우저 언어 설정
op.add_argument("lang=ko_KR")
# 드라이버 생성 시 옵션 설정
driver = webdriver.Chrome(options=op)
driver.get('https://www.naver.com')
# 다른 방법
# op = webdriver.ChromeOptions()
# op.headless = True
# op.add_argument('window-size=1920x1080')
# op.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36')
# 드라이버 생성 시 옵션 설정 (options attribute도 되는 듯)
# driver = webdriver.Chrome(chrome_options=op)
# driver.get('https://www.naver.com')
'RPA > Python' 카테고리의 다른 글
[selenium] iframe 내 Element 접근 (checkbox, radio, select 태그) (0) | 2021.05.06 |
---|---|
[selenium] Xpath 등을 이용하여 Element 동작 처리하기 (0) | 2021.05.05 |
[selenium] 브라우저 및 Handle 컨트롤 (0) | 2021.05.05 |
[selenium] 설치 및 환경 설정 (0) | 2021.05.05 |
[OS] 파일 및 폴더 관리 (0) | 2021.05.04 |