본문 바로가기
파이썬코드공유

셀레니움 웹드라이버 close 와 quit 차이점

by 하이어시스템 2023. 8. 4.
반응형

하이어시스템 소개

 

하이어시스템 소개 feat.김프로

소개 안녕하세요, 저는 하이어시스템의 김프로입니다. 여러분들이 어려움을 겪고 계신 일상 업무를 저의 안정적이고 빠른 소프트웨어로 자동화하는 것, 그것이 저의 목표입니다. '하이어시스템

wise-office-worker.tistory.com

 

셀레니움으로 자동화프로그램을 개발할 때 자동화가 종료되면 크롬 웹드라이버를 종료처리를 해야 합니다. 정상적으로 종료처리를 하지 않는다면 다음 자동화 실행시점에 충돌이 발생하여 정상적인 진행이 불가능하게 됩니다.

 

셀레니움 웹드라이버를 이용하여 윈도우 화면을 닫는 방법은 2가지 입니다.

 

close

from selenium import webdriver

# 웹 드라이버 인스턴스 생성
driver = webdriver.Chrome()

# 웹 드라이버를 사용한 작업 수행

# 현재 창 닫기
driver.close()

# 다른 작업을 위해 웹 드라이버 인스턴스를 계속 사용 가능

'close' 메서드는 현재 열려 있는 창을 닫습니다. 하지만 다른 탭이나 다른 브라우저 창이 열려 있으면 웹 드라이버 프로세스는 종료되지 않고 계속 실행됩니다. 따라서, 'close' 메서드를 호출한 후에도 동일한 드라이버 인스턴스를 사용하여 다른 작업을 계속할 수 있습니다. 예를 들면 특정 링크를 클릭하면 새로운 탭 화면이 열리면서 자동화 대상이 변경되는 경우입니다. 이런 경우라면 기존 탭을 close()로 닫아주고 웹드라이버의 switch_to.window() 메서드를 이용해서 자동화 대상 화면을 전환해야 합니다.

 

quit

from selenium import webdriver

# 웹 드라이버 인스턴스 생성
driver = webdriver.Chrome()

# 웹 드라이버를 사용한 작업 수행

# 웹 드라이버 종료
driver.quit()

'quit' 메서드는 웹 드라이버의 인스턴스를 완전히 종료합니다. 이 메서드를 호출하면 웹 브라우저의 모든 창과 탭이 닫히고, 드라이버 프로세스도 완전히 종료됩니다. 이후에는 더 이상 웹 드라이버를 사용할 수 없습니다. 따라서 자동화 프로세스가 종료된 경우라면 quit 으로 완전히 웹 드라이버를 종료해야 합니다.

 

반응형