Как я получаю бесконечные ожидания? [дубликат]

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