끝없는 기대를 어떻게 얻습니까? [복제]

Aug 16 2020

Selenium을 사용하고 페이지가로드 될 때까지 (로드하는 데 몇 시간이 걸리기 때문에) 끝없이 기다린 다음 데이터를 구문 분석해야합니다. 어떻게해야합니까?

다음과 같은 코드를 사용합니다.

wait = WebDriverWait(driver, 10)  
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))

답변

2 Marios Aug 16 2020 at 03:41

이를 위해 WebDriverWait () 를 사용할 수 있습니다 . 예를 들어 다음 코드는 5 시간 동안 또는 요소를 찾을 때까지 기다립니다.

hours_to_wait = 5

element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))

또는 :

element = WebDriverWait(driver, hours_to_wait *60*60).until(
        EC.presence_of_element_located((By.ID, "myDynamicElement"))
    )

또는 귀하의 경우 :

element = WebDriverWait(driver, hours_to_wait *60*60).until(
        EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
    )

다음을 가져와야합니다.

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