selenium에서 동적인 페이지에서 작업할때 오류가 납니다.
조회수 1803회
웹 페이지에서 반복적인 작업을 해야 해서 selenium으로 자동으로 작업하게 하려 하고 있습니다.
대상 웹 서비스가 페이지를 동적으로 html 요소들을 로드하는 방식인거 같습니다. (자세한 기술 이름을 잘 모르겠습니다 ㅠㅠ)
메뉴 버튼을 xpath로 찾아 click하고, 이제 이동된 페이지에서 어떤 버튼을 클릭해야 하는데, 이때 해당 요소가 없다는 오류가 자꾸 발생합니다.
그래서 메뉴를 이동하고 page_source를 print하니까, 제가 찾으려는 요소가 없습니다..
설명이 좀 난잡하네요 ㅠ 어떻게 해결해야 할까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
https://selenium-python.readthedocs.io/waits.html
여기 예제처럼
element_to_be_clickable
이 조건을 쓰면 되지 않을까요?
from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.ID, 'someid')))
- TimeOutExepction이 발생하네요 ㅠ 알 수 없는 사용자 2019.4.5 15:48
- 보내주신 링크 보면 WebDriverWait에 지정된 sec 안에 요소를 찾지 못하면 TimeOutException을 반환하는 것 같은데, 음.. 알 수 없는 사용자 2019.4.5 15:54
- driver.switch_to.window(driver.window_handles[1])(새창) 이나 driver.switch_to.window(driver.window_handles[-1])(새탭) 해보셨는지.... 알 수 없는 사용자 2019.4.5 16:28
- 아... 클릭할 대상을 찾는게 아니었군요. 그럼 그냥 젤 아래 Implicit Waits 사용해보세요 doodoji 2019.4.5 21:31
댓글 입력