Come ottengo infinite aspettative? [duplicare]
Aug 16 2020
Uso Selenium e devo aspettare all'infinito il caricamento della pagina (perché ci vogliono un paio d'ore per caricarsi) e poi analizzare i dati da esso, come posso farlo?
Uso un codice come questo:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
Risposte
2 Marios Aug 16 2020 at 03:41
È possibile utilizzare WebDriverWait () per ottenere ciò. Ad esempio, il codice seguente attende 5 ore o finché non trova l'elemento.
hours_to_wait = 5
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))
o :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
o nel tuo caso :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
)
devi importare questi:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC