Comment ai-je des attentes infinies? [dupliquer]
J'utilise Selenium et je dois attendre indéfiniment le chargement de la page (car le chargement prend quelques heures), puis en analyser les données, comment puis-je faire cela?
J'utilise un code comme celui-ci:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
Réponses
2 Marios
Vous pouvez utiliser WebDriverWait () pour y parvenir. Par exemple, le code suivant attend 5 heures ou jusqu'à ce qu'il trouve l'élément.
hours_to_wait = 5
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))
ou :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
ou dans votre cas :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
)
vous devez les importer:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC