본문 바로가기
Python/Selenium

Selenium UnsupportedOperationException 오류 해결하기

by PySun 2025. 1. 23.
반응형

소개

Selenium을 사용하다 보면 'UnsupportedOperationException' 오류에 직면할 수 있습니다. 이 오류는 특정 작동을 지원하지 않을 때 발생하며, 다양한 상황에서 나타날 수 있습니다. 이 블로그 글에서는 이 에러가 발생하는 이유와 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'UnsupportedOperationException' 오류가 발생할 수 있는 간단한 예시 코드를 보겠습니다.

from selenium import webdriver

# 웹드라이버 설정
driver = webdriver.Chrome()

# 웹사이트 열기
driver.get("https://example.com")

# 잘못된 메서드 호출
driver.execute_script("alert('Hello, World!');")
driver.close()  # 이 시점에서 UnsupportedOperationException 발생 가능

에러 해결 방법

1. 브라우저가 종료되기 전에 모든 작업 완료하기

이 오류는 브라우저가 이미 종료된 후 메서드를 호출할 때 발생합니다. 메서드들을 호출하기 전에 브라우저가 여전히 열려 있는지 확인해야 합니다.

from selenium import webdriver
import time

# 웹드라이버 설정
driver = webdriver.Chrome()

# 웹사이트 열기
driver.get("https://example.com")

# 작업 완료 후 잠시 대기
time.sleep(2)

# 브라우저 닫기
driver.quit()

2. 적절한 드라이버 종료 메서드 사용하기

드라이버 종료 시 `driver.quit()` 대신 `driver.close()`를 사용할 경우 여러 탭이 열린 상태에서는 원하지 않는 상황이 발생할 수 있습니다. `driver.quit()`을 사용하여 모든 창을 닫고 드라이버를 종료하도록 하세요.

from selenium import webdriver

# 웹드라이버 설정
driver = webdriver.Chrome()

# 웹사이트 열기
driver.get("https://example.com")

# 작업 완료 후 모든 창 종료
driver.quit()

추가 팁

3. 주의 깊은 코드 작성

메서드 호출 시 항상 드라이버 상태를 확인하고, 드라이버가 정상적으로 작동 중인지 점검하는 것이 중요합니다. 오류 체크를 통해 문제를 미리 방지할 수 있습니다.

from selenium import webdriver

# 웹드라이버 설정
driver = webdriver.Chrome()

# 웹사이트 열기
driver.get("https://example.com")

if driver.service.is_connectable():  # 웹드라이버가 연결 가능한지 확인
    print("드라이버가 정상적으로 작동 중입니다.")
else:
    print("드라이버에 문제가 발생했습니다.")

# 작업 완료 후 종료
driver.quit()

마무리

이번 글에서는 Selenium을 사용할 때 발생할 수 있는 'UnsupportedOperationException' 오류와 그 해결 방법에 대해 알아보았습니다. 오류의 원인을 이해하고 적절한 해결 방법을 적용하면, 더 원활하게 웹 자동화를 진행할 수 있습니다. 오류 발생 시 침착하게 원인을 분석하고, 안전한 코드 작성을 통해 안정적인 자동화 환경을 구축하는 것이 중요합니다.

반응형