이모저모

python - selenium_요소와 interaction위한 탐색시 주의사항(?!) 본문

coding/python

python - selenium_요소와 interaction위한 탐색시 주의사항(?!)

Jeo 2022. 1. 3. 01:23

selenium.common.exceptions.ElementNotInteractableException

- 이와 같은 에러가 나는 이유 : presence만 확인해서는 해당 요소와 interaction할 준비가 안 되어 있을 수 있다. 

- 대안: visibility로 확인하기

 

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

import time
import os
import pyperclip

chrome = webdriver.Chrome('./chromedriver')
wait = WebDriverWait(chrome, 10)
short_wait = WebDriverWait(chrome, 3)

chrome.get('https://shopping.naver.com')

# (1) selenium.common.exceptions.ElementNotInteractableException 에러가 나는 코드
# login_btn = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "a#gnb_login_button")))

# (2) 잘 작동되는 코드 : visibility로 확인
login_btn = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a#gnb_login_button")))
print(login_btn.text)
login_btn.click()

time.sleep(3)

chrome.close()
Comments