Я пытаюсь автоматизировать процесс, который использует веб-сервер для различных вычислительных задач. На нескольких страницах есть несколько задач, поэтому я использую явное ожидание. Это работает для всего, кроме одной конкретной задачи, выполнение которой занимает 5-7 минут (намного дольше, чем что-либо еще).
Всякий раз, когда я пытаюсь сделать следующее:
def next5():
try:
myElem5 = WebDriverWait(driver, 600).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#fmdsetup > table > tbody > tr:nth-child(2) > td > input[type="radio"]')))
next5 = driver.find_element_by_class_name('nav_entry')
next5.click()
except TimeoutException:
print("Timed out waiting for page to load (next5)")
Я получаю оператор печати TimeoutException. Я пытался увеличить время ожидания, но оно всегда истекает. Странно то, что он отбрасывает исключение TimeoutException до того, как прошло 10 минут.
Кроме того, скрипт отлично работает, если я просто использую функцию сна:
def next5():
time.sleep(600)
next5 = driver.find_element_by_class_name('nav_entry')
next5.click()
Как я уже говорил, у меня есть несколько экземпляров next<#>()
функций, которые отлично работают и отличаются только временем ожидания. Чем отличается эта ситуация и как я могу заставить ее работать?