Самый простой способ автоматизации с помощью Python
Статья написана для тех, кто хочет автоматизировать определенные задачи без использования конструкторов вроде BAS или Zennoposter, а также имеет недостаточно знаний для написания полноценных скриптов с помощью Python.
Основной недостаток способа из статьи - невозможность работы в фоне.
Что нужно знать перед прочтением?
- Предполагается, что вы знакомы с минимальным основами Python (переменными, ветвлениями, циклами и функциями).
- Также предполагается, что вы сможете установить Python и удобную для вас IDE самостоятельно.
Взаимодействуя с чем-либо на вашей системе, чаще всего вам нужны лишь две вещи - мышь и клавиатура.
Исходя из этого вам понадобится всего два сторонних пакета - mouse и keyboard.
Установка окружения и библиотек
- Создайте папку для будущего скрипта и откройте в ней командную строку (или терминал).
- В терминале введите команды, чтобы создать виртуальное окружение и установить необходимые библиотеки:
.\venv\Scripts\activate - Для Windows
source venv/bin/activate - Для MacOS | Linux
У вас есть готовое окружение для работы. Создайте файл main.py - здесь будет ваш будущий код.
Как узнать координаты мыши?
Прежде чем использовать библиотеку mouse, нужно понять куда перемещать курсор.
Это можно сделать с помощью простого скрипта, скопируйте код в другой файл и запустите его в том же виртуальном окружении.
import mouse
print('Press Ctrl + C to quit.')
try:
while True:
x, y = mouse.get_position()
positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print(positionStr, end='')
print('\b' * len(positionStr), end='', flush=True)
except KeyboardInterrupt:
print('\n')После запуска наведите курсор на нужные области экрана и запомните их координаты.
Основные методы библиотеки mouse
import mouse
# Перемещает курсор мыши на указанные координаты.
mouse.move(x=100, y=200, duration=5) # x, y — координаты перемещения.
# duration — длительность перемещения
# в секундах.
# Выполняет клик.
mouse.click(button='right') # button — кнопка мыши
# ('left', 'right', 'middle').
# Выполняет двойной клик.
mouse.double_click(button='right') # button — кнопка мыши
# ('left', 'right', 'middle').
# Нажимает кнопку мыши (без отпускания).
mouse.press(button='left') # button — кнопка мыши
# ('left', 'right', 'middle').
# Отпускает кнопку мыши.
mouse.release(button='left') # button — кнопка мыши
# ('left', 'right', 'middle').
# Прокручивает колесо мыши.
mouse.wheel(delta=1000) # delta — прокрут мыши.
# Положительное число - прокрут вверх.
# Отрицательное - прокрут вниз.Основные методы библиотеки keyboard
import keyboard
# Вводит заданный текст.
keyboard.write(text='text', delay=0.5) # text — текст для ввода.
# delay — задержка между нажатиями
# клавиш в секундах.
# Нажимает клавишу (без отпускания).
keyboard.press(hotkey='shift+s') # hotkey — клавиша или сочетание
# клавиш.
# Отпускает клавишу.
keyboard.release(hotkey='shift') # hotkey — клавиша или сочетание
# клавиш.
# Нажимает и отпускает клавишу.
keyboard.send(hotkey='enter') # hotkey — клавиша или сочетание
# клавиш.Пример готового скрипта
Разобравшись с основными методами библиотек, можно написать простой скрипт, который будет вводить текст в поисковую строку Google и открывать первую ссылку.
import time
import mouse
import keyboard
# Перемещаем курсор мыши в область поисковой строки.
mouse.move(x=500, y=400, duration=1)
# Клик для активации строки поиска.
mouse.click() # Можем не указывать параметр button, так как по умолчанию
# он уже равен 'left'.
# Вводим запрос.
keyboard.write(text="Автоматизация на пайтон", delay=0.1)
# Нажимаем на Enter для начала поиска.
keyboard.send(hotkey='enter')
# Ждем загрузки страницы.
time.sleep(10)
# Перемещаем курсор на первую ссылку.
mouse.move(x=300, y=200, duration=1)
# Кликаем на нее.
mouse.click()Остальное сможете реализовать самостоятельно, этих методов хватает для покрытия практически всех задач.
Доп. материалы
- Статья с Хабра про библиотеку
keyboard- https://habr.com/ru/articles/579942/ - Страница на GitHub библиотеки
mouse- https://github.com/boppreh/mouse#api