[Python/Selenium] click 오류 StaleElementReferenceException 해결하기

파이썬 셀레니움으로 웹 크롤링을 하다보면 분명 존재하는 element임에도 불구하고 click()이 작동되지 않을 때가 종종 있습니다. 해당 element를 찾을 수 없다던지(아니 분명 있는데?) 해당 element에 수행할 수 없는 명령이라던지… 이럴 땐 javascript 명령어로 click을 실행하여 해결할 수 있어요.

StaleElementReferenceException 오류

StaleElementReferenceException 오류

이 오류는 페이지 갱신 또는 변경으로 인해 이전에 참조했던 웹 요소가 더 이상 유효하지 않을 때 발생한다고 합니다.


자바스크립트 명령어로 해결하기

webElement driver에 대해 .click() 명령을 js명령어로 내려줍니다.

from selenium.webdriver.common.by import By

target = driver.find_element(By.TAG_NAME, 'a') #클릭하고자 하는 대상
driver.execute_script("arguments[0].click();", target)

Leave a Comment