- 웹 브라우저 창 닫는 방법
Selenium에서 창 또는 브라우저를 닫을 때 사용되는 메서드로는 driver.close()와 driver.quit()이 있다.
- driver.close()
close() 메서드는 현재 열려 있는 창 또는 탭을 닫는다. 현재 포커스된 창을 닫는 데 사용된다.
만약 현재 포커스된 창이 마지막 창이면 브라우저를 종료한다.
- driver.quit()
quit() 메서드는 WebDriver 인스턴스와 연결된 모든 창 및 탭을 닫는다.
모든 창 및 탭을 닫고, WebDriver 프로세스를 종료하여 메모리 리소스를 해제하는 데 사용된다.
모든 창 또는 탭을 닫아야 할 때는 driver.quit()을 사용하며,
단일 창 또는 탭을 닫아야 할 때는 driver.close()를 사용한다.
- driver.close()에서 에러가 발생할 경우
- 현재 활성화된 창이 없는 경우: driver.close()는 현재 활성화된 창을 닫는 메서드이다. 현재 WebDriver가 관리하는 창이나 탭이 없다면 이 메서드를 호출할 때 에러가 발생할 수 있다. 이런 경우에는 driver.switchTo().window() 메서드를 사용하여 원하는 창으로 이동한 후에 driver.close()를 호출해야 한다.
- 브라우저가 이미 종료된 경우: 이미 종료된 브라우저나 탭을 다시 닫으려고 할 때도 driver.close()를 호출하면 에러가 발생할 수 있다. 이런 경우에는 이미 종료된 브라우저나 탭을 찾거나 driver.quit()을 사용하여 WebDriver를 종료하는 것이 좋다.