반응형
파이썬 셀레니움 python selenium clcik() 에 대한 Message: element not interactable 오류
어제는 잘 됐는데, 오늘 컴퓨터를 껐다 킨 후 갑자기 이런 에러가 뜬다.
driver.find_element(By.CSS_SELECTOR, "#container > 생략 > img").click()
Message: element not interactable
나는 해당 요소를 클릭하라는 명령을 보냈고, 요소를 클릭할 수 없다는 오류가 발생했다.
다른 페이지에서는 또 되는데, 해당 페이지에서 문제가 발생해서 혼란이었다.
분명 어제는 됐는데 오늘은 왜 안되지? 하면서 무려 두 시간을 헤매었다.
해결하긴 했지만 찝찝하다. 다시 하면 또 안될 거 같은 느낌적인 느낌이랄까?
검색해본 해결방안
1) 터미널을 종료하고, 해당 코드를 전체 삭제 후 다시 입력한 뒤 다시 실행한다. (실패)
2) 어제 다른 패키지 설치 중 오류가 났나 싶어서 pip 를 업그레이드 해준다. (실패)
3) 해당 페이지의 요소가 로딩되지 않았음을 예상하여 시간적 여유를 준다. (이미 time.sleep(3) 을 설정해서 패스)
4) 경로의 문제가 있을 수 있기 때문에 XPATH로 지정해본다. (실패)
5) 현재 실행에 불필요한 코드를 삭제해보고 실행해본다. (실패)
6) 현재 페이지에서 클릭할 요소가 보이지 않아서 실행이 안될 수 있으므로 브라우저 크기를 키워준다. (성공)
나의 해결책
나의 경우에 클릭 요소가 화면에서 보이지 않아 작동하지 않은 것으로 생각된다.
그래서 브라우저 크기를 해당 요소가 보일 정도까지 키워줬다.
사실 이게 머리로는 이해가 잘 안 된다. 화면에 보이지 않아도 해당 요소가 클릭되어야 하는 게 아닌가 싶은데 말이다.
I think In my case, it couldn't find that element of click() in browser.
So I made bigger size of browser until I can see that I want the element, through below code. Then fixed it!
driver.set_window_position(0,0) # 화면 0.0 에서 창 띄우기
driver.set_window_size(1000,1000) # 브라우저 크기 조정
반응형
'IT.컴퓨터 > python 파이썬' 카테고리의 다른 글
PyQt5 를 이용한 GUI 프로그램 만들기 (qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "") (0) | 2022.10.29 |
---|---|
pip install pyqt5-tools 설치 오류 에러 (python 3.10) (0) | 2022.10.28 |