我正在尝试自动化一个利用网络服务器执行各种计算任务的过程。多个页面上有多个任务,所以我使用显式等待。这适用于除一项特定任务之外的所有任务,该任务需要 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 打印语句。我尝试过更长的等待时间,但它总是超时。奇怪的是,它在 10 分钟过去之前抛出了 TimeoutException。
此外,如果我只使用睡眠功能,该脚本就可以完美运行:
def next5():
time.sleep(600)
next5 = driver.find_element_by_class_name('nav_entry')
next5.click()
正如我之前所说,我有多个next<#>()
可以完美运行的函数实例,只是等待时间不同。这种情况有什么不同,我怎样才能让它发挥作用?