Логика работы такая. Сначала бот входит в систему, беря доступы из конфигурационного файла или переменных окружения, удерживает сессию и проверяет, что открылся нужный экран. Затем поочерёдно обрабатывает пару-тройку форм, беря значения из подготовленного мной файла CSV или JSON, отправляет каждую и сверяет ответ об успехе, прежде чем двигаться дальше. Завершив формы, он инициирует выгрузку отчёта, ждёт готовности файла, сохраняет его под именем с отметкой даты и времени и убирает предыдущую версию в архив. Запускаться всё должно самостоятельно по графику — через cron или планировщик Node, как вам удобнее, — поэтому на первом месте не скорость, а устойчивость: повторные попытки с нарастающей паузой, адекватные таймауты и детальные записи в журнал, чтобы было видно, на каком шаге и по какой причине сорвался запуск.
Жду опрятный код на Node.js с комментариями и краткую инструкцию по развёртыванию и настройке. Особенно важна аккуратность при сбоях: если кабинет тормозит или нужный элемент отсутствует, бот пробует ещё несколько раз, фиксирует ошибку в логе и штатно завершается, а не виснет молча и не портит итоговые файлы.
— Puppeteer и headless Chrome на Node.js, автономный запуск по графику
— Авторизация с удержанием сессии, заполнение и отправка нескольких форм из CSV/JSON
— Инициация выгрузки отчёта, сохранение с датой в имени, архивация прошлых прогонов
— Повторные попытки с паузой, таймауты и подробный журнал по каждому шагу
— Пароли в конфиге или окружении, а не в коде; чистый код с комментариями и README