반응형
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
반응형
'자동화프로그램 > 파이썬-기초' 카테고리의 다른 글
[파이썬] url 앞에 f 붙이는 이유 (0) | 2022.09.25 |
---|---|
[파이썬] 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape syntax error 에러 해결방법 (0) | 2022.08.07 |
객체지향 언어의 장점과 단점, 개념, 종류, 절차지향 언어와 비교 (0) | 2020.10.28 |
파이썬 Sorted, list - python 기초 (1) | 2020.09.04 |