Вы можете вызвать WebDriverWait
на странице, и если страница перехватывает TimeoutException
, вы узнаете, что загрузка заняла слишком много времени, поэтому вы можете перейти к следующему.
Учитываяне знаю, как будет выглядеть каждая страница HTML, это очень сложная проблема.
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
# list of college names
names = []
for name in names:
# search for the college here
# get list of search results
WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, "//div[@class='rc']")))
search_results = driver.find_elements_by_xpath("//div[@class='rc']")
# get first result
search_result = search_results[0]
# attempt to load the page
try:
search_result.click()
except TimeoutException:
# click operation should time out if next page does not load
# pass to move on to next URL
pass
Это очень грубый общий план. Как я уже упоминал, не зная, каким будет ожидаемый заголовок страницы или как будет выглядеть ожидаемое содержимое страницы, невероятно сложно написать универсальный метод, который успешно выполнит это. Этот код предназначен для вас как отправная точка.