Автоматизировать Windows-only LOB-приложение без API
Когда использовать: Вендор внутреннего приложения не предоставляет API; нужно, чтобы Claude ежедневно вводил данные.
Предварительные требования
- Windows 10/11 с установленным целевым приложением — Стандартная установка
- Python 3.10+ для uvx — winget install Python.Python.3.12
Поток
-
Изучить дерево UIЗапусти приложение
BookingSystem.exe, затем выгрузи дерево UI главного окна. Хочу видеть automation ID.✓ Скопировано→ Дерево показывает элементы с AutomationId — не только безымянные кнопки -
Выполнить happy path один разТеперь: открой диалог New Booking, заполни клиента «Acme Inc», дату 2026-05-12, сохрани. Сделай screenshot в конце.✓ Скопировано→ Бронирование сохранено; screenshot подтверждает
-
Обобщить и зациклитьПрочитай /work/bookings.csv. Для каждой строки повтори flow бронирования. Сохрани screenshots в /work/runs/.✓ Скопировано→ Каждая строка обработана; screenshot на каждое бронирование
Итог: Headless-автоматизация приложения вендора, воспроизводимая из CSV.
Подводные камни
- Приложение использует кастомные элементы (например, WinForms ListView без AutomationId) — Используй клики по координатам для фиксированного положения в окне; задокументируй хрупкость
- Модальный диалог перехватывает фокус в середине цикла — Всегда проверяй активное окно перед send_keys; прерывай при неожиданном окне