Время прочтения: 2 мин.

Для начала разберемся, почему без SQL! Все просто, использование SQL для базы данных запрещено, а вручную качать занимает много времени и нужен человек, который это будет делать, а использовать людей для таких задач не самая лучшая идея.

Было принято решение написать программу, которая будет эмулировать действия пользователя.

Для таких целей есть уже реализованная программа blueprism для работы с которой надо было пройти еще внутреннее обучение в и получить сертификат и только после этого ее можно было установить у себя на компьютере (соответственно, чтобы что-то поменять нужен специалист, который понимает, как работает blueprism и имеет сертификат). Так как я работаю на Python, я написал скрипт на Python, который полностью заменяет программу blueprism (по скринам базы, так как доступа к самой базе не было) с помощью библиотеки pyautogui где по заданным координатам двигается мышь и нажимаются нужные кнопки.

Импортируем нужные библиотеки:

import pyautogui 
import time 

После чего нам нужно узнать разрешение экрана что бы можно было по нему ориентироваться:

print(pyautogui.size())

Узнаем позицию мыши на данный момент:

print(pyautogui.position())

Далее просто узнаем координаты нужных нам кнопок по скринам и прописываем их в программе вместе с действиями которые нужно сделать:

# Set up a 2.5 second pause after each PyAutoGUI call:
# pyautogui.PAUSE = 2.5
# y = 49 
t = 0.4 
tm = 0. 
ctrl_v_list = 120  
load_files = 9
all_files = 1000
time.sleep(4)
pyautogui.moveTo(454, 37, tm) 
pyautogui.click()
time.sleep(t)
pyautogui.moveTo(454, 60, tm) 
pyautogui.click()
time.sleep(t)

После чего просто повторяем эти действия (для выгрузки одного файла) в цикле столько раз сколько нам необходимо скачать документов.

Далее, для работы с этой программой там, где нет Python мы наш файл с кодом скомпилируем в формат .exe с помощью библиотеки pyinstaller и приложим инструкцию readme. Преимущества в том, что этот exe-шник можно передавать на любой компьютер, а внести изменения легко и просто тем, кто знает python! Запускать можно на многих компьютерах (тем самым распараллеливая процесс выгрузки документов) и не отвлекая человека от основной работы. Если раньше вручную выгружалось 3000 файлов примерно за 2 недели, то тут в день можно грузить около 800 файлов и заниматься другими рабочими процессами, причем не нарушая внутренние распоряжения!