#python #date
Вопрос:
В настоящее время у меня есть цикл, который повторяет каждую строку CSV и извлекает информацию и вводит веб-сайт через selenium.
В настоящее время я борюсь с полем даты выпадающего списка. Дата указана в формате 30/12/2000.
Я думаю, что я должен быть в состоянии удалить каждую часть даты и отправить ее, чтобы отправить ключи в этом поле и нажать enter.
Я использую что-то вроде этого.
from datetime import datetime with open('/Users/me/Downloads/dates_test.csv',newline='') as csvfile: readCSV = csv.reader(csvfile, delimiter=',') for row in readCSV: try: driver = find stuff on page d = (row[1]) objd = datetime.strptime(d, '%d %m %Y') sign_up_date = driver.find_element_by_xpath("//*[@id='membership-signed-up- on']/a").click() sleep(1) day1 = driver.find_element_by_xpath("//*[@id='membership_signed_up_on_3i']").click() day1.send_keys(objDate.day) day1.send_keys(Keys.RETURN)
Два вопроса,
- В настоящее время я получаю эту ошибку.
Ошибка значения: данные о времени «17/05/2021» не соответствуют формату «%d %m %Y»
- На правильном ли я пути? Есть ли лучший способ сделать это?
Комментарии:
1. Форматы ваших дат: %d/%m/%Y. Формат должен содержать косые черты.
Ответ №1:
Вы очень близки. Просто измените эту строку:
objd = datetime.strptime(d, '%d %m %Y')
к этому
objd = datetime.strptime(d, '%d/%m/%Y')
Комментарии:
1. Спасибо за это. Теперь я получаю day1.send_keys(objDate.day) Ошибка атрибута: объект ‘NoneType’ не имеет атрибута ‘send_keys’
Ответ №2:
В качестве альтернативы, если вы не хотите иметь дело с форматами дат, вы можете воспользоваться dateutil
библиотекой:
from dateutil import parser as p objd = p.parse(d)