자동화프로그램/파이썬-기초
[selenium] element 클릭이 되지 않을 때: ElementNotInteractableException Message: element not interactable 에러
투자좋아
2022. 8. 13. 10:02
반응형
python selenium 을 이용하여 chorome webdriver 상에서 자동화 코드를 수행하다가 다음과 같은 에러가 발생했습니다.
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
에러 발생 이유
해당 에러 발생 이유는 element가 HTML DOM 에는 존재하지만, 선언되지 않았거나 상호작용을 할 수 없을 때 발생한다고 합니다. 다시 말하면, 엘레멘트를 html상에서 찾을 수 있지만, 상호작용.. 사용할 수 없을 때 ElementNotInteractable Exception을 return 하여 에러메세지를 보여준 것입니다.
해결 방법
아마도 해당 에러는 아래 코드와 같이 .click() 으로 되어있었을텐데요 (왜냐하면 제가 그렇게 코딩을 했었습니다^^)
driver.find_element(By.method,'something').click()
아래와 같이 .send_keys(Keys.ENTER) 을 입력하면 위 에러가 해결됩니다.
send_keys(Keys.ENTER)를 사용하고싶다면,
from selenium.webdriver.common.keys import Keys
문구를 코드 상단에 를 넣어주시면 됩니다.
driver.find_element(By.methond, 'something').send_keys(Keys.ENTER) # 검색을 수행함.
selenium.webdriver.common.keys
Selenium library는 웹 크롤링에서 필수적인 라이브러리인데요, 키보드의 키를 컴퓨터로 전달하기 위해서 사용합니다.
위의 코드에서 .send_keys(Keys.ENTER) 와 같이 Keys 라는 struct 에 다양한 키보드값들을 가집니다.
Keys 하위 명령어들로는 아래와 같이 다양합니다.
- Kyes.ENTER,
- 아래는 화살표 값들
Keys.ARROW_DOWN,
Keys.ARROW_LEFT,
Keys.ARROW_RIGHT,
Keys.ARROW_UP, - Keys.BACK_SPACE,
- Keys.CONTROL,
- Keys.ALT,
- Keys.DELETE,
- Keys.TAB,
- Keys.SPACE,
- Keys.SHIFT,
- Keys.EQUALS,
- Keys.ESCAPE,
- Keys.HOME,
- Keys.INSERT,
- Keys.PAGE_UP,
- Keys.PAGE_DOWN,
- Keys.F1, Keys.F2, Keys.F3, Keys.F4, Keys.F5, Keys.F6, Keys.F7,Keys.F8, Keys.F9 Keys.F10, Keys.F11, Keys.F12
반응형