【发布时间】:2020-12-05 08:48:37
【问题描述】:
我使用 Selenium,我需要无休止地等待页面加载(因为加载需要几个小时),然后从中解析数据。我该怎么做?
我使用这样的一些代码:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
【问题讨论】:
我使用 Selenium,我需要无休止地等待页面加载(因为加载需要几个小时),然后从中解析数据。我该怎么做?
我使用这样的一些代码:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
【问题讨论】:
您可以使用 WebDriverWait() 来实现。例如,以下代码等待五个小时或直到找到元素。
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
【讨论】: