Wie bekomme ich endlose Erwartungen? [Duplikat]
Aug 16 2020
Ich verwende Selenium und muss endlos warten, bis die Seite geladen ist (da das Laden einige Stunden dauert) und dann Daten daraus analysieren. Wie kann ich das tun?
Ich benutze einen Code wie diesen:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
Antworten
2 Marios Aug 16 2020 at 03:41
Sie können WebDriverWait () verwenden , um dies zu erreichen. Der folgende Code wartet beispielsweise 5 Stunden oder bis er das Element findet.
hours_to_wait = 5
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))
oder :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
oder in deinem Fall :
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
)
Sie müssen diese importieren:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC