StaleElementReferenceException: stale element reference: element is not attached to the page document
다른 블로그 포스팅에서 time.sleep() 주면 해결된다고 하는데 여전히 문제가 해결이 되시지 않는다면,
이 포스팅이 도움이 되실겁니다.
제가 원하는 바는 아래와같이 네이버 쇼핑 검색창에 슬리퍼를 입력하고, 다시 그 부분을 지우고 싶었습니다.
search_keyword = driver.find_element(by=By.XPATH, value='//input[@title="검색어 입력"]')
search_keyword.send_keys(keyword)
search_keyword.send_keys(Keys.RETURN)
search_keyword.clear()
그러면 위와 같이 코드를 적어 볼 수 있겠죠?
하지만,
StaleElementReferenceException: stale element reference: element is not attached to the page document
에러가 발생합니다.
왜냐하면 search_keyword.send_keys(Keys.RETURN)를 입력할때 번쩍하면서 새로 고침 될때, 기존에 정의했던 driver 객체를 사용할 수 없게 되기 때문입니다.(분명 태그 위치는 변함이 없습니다.)
이럴땐 코드가 지저분해지더라도 아래와 같이 해당 driver객체를 재지정 해주시면 문제를 해결 할 수 있습니다.
search_keyword = driver.find_element(by=By.XPATH, value='//input[@title="검색어 입력"]')
search_keyword.send_keys(keyword)
search_keyword.send_keys(Keys.RETURN)
search_keyword = driver.find_element(by=By.XPATH, value='//input[@title="검색어 입력"]')
search_keyword.clear()
'파이썬 > 크롤링' 카테고리의 다른 글
[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) (1) | 2022.04.19 |
---|---|
[셀레니움 기초] 네이버 쇼핑 크롤링 중 차단?(headless 사용시 주의사항) (0) | 2022.04.07 |
[selenium 기초] 셀레니움 ~ is not clickable at point ~ 오류 해결 방법 (0) | 2022.04.06 |
[크롤링 기초] 부모(상위)태그 | 자식(하위)태그 | 형제 태그 개념 (0) | 2022.03.30 |
[Python 셀레니움] executable_path has been deprecated, please pass in a Service object 에러 해결 방법 (2) | 2022.03.15 |
댓글