Как сделать, так чтоб функция выполнялась заново, если прошло некоторое время и она не выполнилась?
Использую Selenium и Python. Программа загружает страницу и делает разные действия на этой странице. Эту задачу я выполнил и обернул в функцию GetInfo(). Мне нужно сделать, так чтоб функция выполнялась заново, если прошло 2 минуты и она не выполнилась(это значит, сайт слишком долго грузится). Помогите пожалуйста это сделать, буду очень благодарен.
Ответы (1 шт):
Автор решения: vadim vaduxa
→ Ссылка
Может имеется виду не функция, а контрено загрузка станицы?, тогда set_page_load_timeout
def GetInfo(driver, url, retry=2):
try :
driver.get(url)
except selenium.common.exceptions.TimeoutException as _e:
retry -= 1
if retry:
return GetInfo(driver, url, retry=retry)
else:
...
if __name__ == '__main__':
driver = webdriver.Chrome()
driver.set_page_load_timeout(120) # если прошло 2 минуты и она не выполнилась(это значит, сайт слишком долго грузится)
GetInfo(driver, url, retry=2)