python/자동화

[Python] 웹 자동화 기초 - 브라우저 열기, 닫기, 탭 이동

sillon 2022. 9. 29. 11:05
728x90
반응형

셀레니움 소개

셀레니움은 파이어폭스, 인터넷 익스플로어, 크롬등과 같은 브라우저를 컨트롤 할 수 있게 해줍니다. 현재 파이썬 3.5 이상부터 지원되며 3.6 이상 버전 부터 pip 로 표준 라이브러리로 사용할 수 있습니다.

설치 – install

pip install selenium

드라이버 – driver

Chrome https://sites.google.com/a/chromium.org/chromedriver/downloads
Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox https://github.com/mozilla/geckodriver/releases
Safari https://webkit.org/blog/6900/webdriver-support-in-safari-10/

브라우저 열기 (chrome)

from selenium import webdriver

driver = webdriver.Chrome('chromedriver.exe')

권장 브라우저 열기 코드

브라우져 열기 옵션 넣기

크롬 브라우저를 열 때 넣을 수 있는 옵션을 셀레니움에서도 사용이 가능하다.

윈도우 사이즈

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('window-size=1920,1080')

driver = webdriver.Chrome('chromedriver.exe', options=options)

헤들리스

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('headless')

driver = webdriver.Chrome('chromedriver.exe', options=options)

창 최대화

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('start-maximized)

driver = webdriver.Chrome('chromedriver.exe', options=options)

# 또는

driver.maximize_window()

브라우저 닫기

driver.close() #현재 탭 닫기
driver.quit()  #브라우저 닫기

뒤로가기 / 앞으로가기

driver.back() #뒤로가기
driver.forward() #앞으로가기

탭 이동

driver.window_handles[0] #브라우저 탭 객체를 리스트로 반환. [0] 은 인덱싱. 첫번재 탭을 의미

driver.switch_to.window(driver.window_handles[0]) #첫번째 탭으로 이동
driver.switch_to.window(driver.window_handles[1]) #두번째 탭으로 이동
driver.switch_to.window(driver.window_handles[2]) #세번째 탭으로 이동

탭 닫기

driver.switch_to.window(driver.window_handles[0]) #닫을 탭으로 이동 후

driver.close()

 

reference

https://pythondocs.net/selenium/%EC%85%80%EB%A0%88%EB%8B%88%EC%9B%80-%ED%81%AC%EB%A1%A4%EB%9F%AC-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95/

728x90
반응형