Итак, у меня есть это в моем сценарии:
today = datetime.now()
today = today.strftime("%Y%m%d")
yesterday = datetime.now() - timedelta(days=1)
yesterday = yesterday.strftime("%Y%m%d")
y_yesterday = datetime.now() - timedelta(days=2)
y_yesterday = y_yesterday.strftime("%Y%m%d")
y2_yesterday = datetime.now() - timedelta(days=3)
y2_yesterday = y2_yesterday.strftime("%Y%m%d")
y3_yesterday = datetime.now() - timedelta(days=4)
y3_yesterday = y3_yesterday.strftime("%Y%m%d")
exp = "//*[@title='Some_excel_to_download_"+today+".xls']"
exp_y = "//*[@title='Some_excel_to_download_"+yesterday+".xls']"
exp_y2 = "//*[@title='Some_excel_to_download_"+y_yesterday+".xls']"
exp_y3 = "//*[@title='Some_excel_to_download_"+y2_yesterday+".xls']"
По сути, я хочу скачать файл xls с веб-сайта. Я хочу автоматизировать этот процесс с помощью планировщика crontab. Проблема в том, что файл, который я хочу загрузить, загружается в произвольные даты, а не в случайный час, но иногда они забывают загрузить его даже на 2 или 3 дня (автоматизация или ручная работа :))
На данный момент я использую это:
try:
WebDriverWait(driver, 15).until(EC.element_to_be_clickable((By.XPATH,("%s" % exp)))).click()
nazwa = 'Some_excel_to_download_'+today+'.xls'
print(nazwa)
except TimeoutException:
print("Today's file not found. Trying: " + exp_y)
exp = "//*[@title='Some_excel_to_download_"+yesterday+".xls']"
driver.find_element_by_xpath(exp_y).click()
nazwa = 'Some_excel_to_download_'+yesterday+'.xls'
print(nazwa)
, и это прекрасно работает, пока файл xls один день ... Я хочу знать, как добавить больше "кроме" операторов или (я думаю, это лучший вариант) что-то вроде заявления "если, элиф, еще", но я не уверен, как это сделать ... Может быть, вы могли бы помочь мне там, пожалуйста?