#python #selenium #datetime #url #callable
#python #селен #datetime #url #вызываемый
Вопрос:
У меня есть приведенный ниже код, и по какой-то причине я не могу
lastMonthEnd.strftime("%d") , lastMonthEnd.strftime("%b") and lastMonthEnd.strftime("%Y")
дважды в переменной.
Я объявляю переменные времени.
today = date.today()
first = today.replace(day=1)
lastMonthEnd = first dateutil.relativedelta.relativedelta(days=-1)
lastQuaterBegin = first dateutil.relativedelta.relativedelta(months=-3)
lastMonthBegin = first dateutil.relativedelta.relativedelta(months=-1)
Я получаю первый URL-адрес без каких-либо проблем
# Get Pamp;L monthly
plUrl = "https://go.xero.com/Reports/Report2.aspx?"
"reportId=ca205001-1651-4947-bf95-9b1436926f09amp;report=amp;statement"
"=a22c12ce-7b22-49ff-a674-1a509552f6deamp;attPage=Compare Periodsamp;"
"date=" lastMonthEnd.strftime("%d") " " lastMonthEnd.strftime("%b") " " lastMonthEnd.strftime("%Y")
"amp;timeframe=1amp;periods=3amp;budgetID= amp;total=nullamp;ytd=nullamp;"
"amp;CompareDateRangePeriods=1amp;sortByForAccount=FormattedNameamp;cashOnly=null"
driver.get(plUrl)
Однако, когда я запускаю приведенный ниже код, где у меня lastMonthEnd.strftime("%d") , lastMonthEnd.strftime("%b") and lastMonthEnd.strftime("%Y")
дважды в URL-адресе, я получаю
Файл «XXX», строка 145, в модуле «toDate=» lastMonthEnd.strftime(«%d») » » lastMonthEnd.strftime(«%b») » » lastMonthEnd.strftime(«%Y») «amp;»
Ошибка типа: объект ‘datetime.date’ не вызывается
ошибка.
plUrl = "https://go.xero.com/Reports/Report2.aspx?reportId=ca205001-1651-4947-bf95-9b1436926f09amp;report=amp;"
"statement=a22c12ce-7b22-49ff-a674-1a509552f6deamp;attPage=Show Date Rangeamp;"
"date=" lastMonthEnd.strftime("%d") " " lastMonthEnd.strftime("%b") " " lastMonthEnd.strftime("%Y") "amp;"
"timeframe=1amp;periods=3amp;budgetID= amp;total=nullamp;ytd=nullamp;"
"fromDate=" lastQuaterBegin("%d") " " lastQuaterBegin("%b") " " lastQuaterBegin("%Y") "amp;"
"toDate=" lastMonthEnd.strftime("%d") " " lastMonthEnd.strftime("%b") " " lastMonthEnd.strftime("%Y") "amp;"
"CompareDateRangePeriod=noneamp;CompareDateRangePeriods=1amp;sortByForAccount=FormattedNameamp;cashOnly=null"
driver.get(plUrl)
Кто-нибудь может помочь, как обойти это?
Комментарии:
1. вы забыли
strftime
, что он должен, например, бытьlastQuaterBegin.strftime("%d")
2. Спасибо за подсказку. Я использую обходной путь для темы выше.
Ответ №1:
Похоже, вы забыли добавить .strftime
некоторые из ваших DateTime
объектов.
Счастливого кодирования, Breadberry
Комментарии:
1. Спасибо за подсказку. Я использую обходной путь для темы выше.