Базовніший вступ

Макрос - це автоматизована послідовність дій або команд, яку можна записати і відтворити для виконання певних завдань. В програмуванні, макроси використовуються для автоматизації повторюваних дій або складних послідовностей команд.

Основна ідея полягає в тому, що ви можете записати послідовність клавіш або команд, які ви зазвичай вводите вручну, і зберегти їх як макрос. Потім ви можете викликати цей макрос для автоматичного виконання відповідних дій.

Макроси можуть бути корисними в багатьох ситуаціях. Ось кілька прикладів:

  1. Автоматизація повторюваних завдань: Якщо ви часто виконуєте одні й ті ж дії, наприклад, створення файлів, копіювання даних або генерація звітів, ви можете записати макрос, який виконуватиме ці дії автоматично. Це дозволить вам заощадити багато часу та зусиль.

  2. Введення складних послідовностей тексту: Якщо ви часто вводите одні й ті ж фрагменти тексту, такі як заголовки, підписи або шаблони коду, ви можете записати макрос, який автоматично вставлятиме ці фрагменти за вас. Це допоможе уникнути помилок та зберегти час на набірі тексту.

  3. Виконання складних операцій: Макроси можуть бути корисними для виконання складних операцій, які потребують багато кроків або команд. Наприклад, ви можете записати макрос, який виконує певні дії у вашому інтегрованому середовищі розробки (IDE), такі як збирання проекту, виконання тестів або рефакторинг коду.

Загалом, макроси є потужним інструментом для автоматизації рутинних задач та підвищення продуктивності. Вони дозволяють економити час та зусилля, а також знижують ризик помилок, пов'язаних з ручним введенням команд або послідовностей клавіш.

Імпорт бібліотеки для макросів

Для легких макросів раджу заюзати бібліотеку keyboard

pip install keyboard

Для більш цікавих та складних макросів раджу бібліотеку PyAutoGUI

pip install pyautogui

Бібліотека keyboard:

  • Опис: keyboard - це бібліотека Python, яка надає можливість взаємодіяти з клавіатурою. Вона дозволяє спостерігати за натисканням та відпусканням клавіш, симулювати натискання та відпускання клавіш, імітувати посимвольне введення тощо.

  • Плюси:

    • Простота використання і зрозумілий інтерфейс.

    • Надає можливість взаємодіяти з клавіатурою, відслідковувати події натискання та відпускання клавіш.

    • Підтримує різні операційні системи (Windows, macOS, Linux).

  • Мінуси:

    • Не надає прямої підтримки для симуляції кліків миші або руху курсора.

    • Може вимагати підвищених привілеїв адміністратора для роботи з деякими клавішами або в певних операційних системах.

Бібліотека pyautogui:

  • Опис: pyautogui - це бібліотека Python для автоматизації взаємодії з екраном комп'ютера. Вона надає функції для керування мишею, клавіатурою, роботи з вікнами програм, розпізнавання зображень тощо.

  • Плюси:

    • Можливість симулювати кліки миші, рух курсора, натискання та відпускання клавіш.

    • Розпізнавання зображень - можливість знайти та клікнути на елементи на екрані, базуючись на їх зображеннях.

    • Кросплатформеність - підтримується на різних операційних системах (Windows, macOS, Linux).

  • Мінуси:

    • Залежність від розміщення елементів на екрані - використання розпізнавання зображень може бути нестабільним, якщо елементи переміщуються або змінюють розмір.

    • Потребує точних координат або зображень для керування елементами на екрані.

    • Може вимагати підвищених привілеїв адміністратора для роботи з деякими операційними системами або деякими додатками.


Любий читачу, якщо тобі подобається подібні довгочити та ти хотів би побачити еволюцію цього проекту в майбутньому, то вподобай цю публікацію!

Також переглянь інші праці до яких я доклав немало зусиль:

Автоматизуємо регистрацію макросом

import keyboard
import time

def macro():
    keyboard.write("[email protected]")  # Вводимо електронну пошту
    time.sleep(0.1)  # Пауза, щоб упевнитися, що текст був введений

def macro2():
    keyboard.write("password")  # Вводимо пароль
    time.sleep(0.1)  # Пауза, щоб упевнитися, що текст був введений
    keyboard.press("enter")  # Натискаємо клавішу Enter

def main():
    while True:
        if keyboard.is_pressed('f2'):  # Якщо натиснута клавіша F2
            macro()  # Викликаємо функцію макросу 1
        if keyboard.is_pressed('f4'):  # Якщо натиснута клавіша F4
            macro2()  # Викликаємо функцію макросу 2

if __name__ == '__main__':
    main()

В цьому коді ми визначаємо дві функції макросів: macro() та macro2(). Перша функція вводить електронну пошту, а друга - пароль. В обох функціях ми також встановлюємо коротку паузу для того, щоб упевнитися, що текст був введений перед натисканням клавіші Enter.

У функції main() ми використовуємо цикл while True, який постійно перевіряє, чи натиснуті клавіші F2 та F4. Якщо натиснута клавіша F2, викликається функція macro(), а якщо натиснута клавіша F4, викликається функція macro2().

Таким чином, при запуску цього коду, коли ви натискаєте клавішу F2, введеться електронна пошта, а при натисканні клавіші F4 - введеться пароль та натискається клавіша Enter.

в два натискання

До того ж, ви можете прописати туди якесь розсильне повідомлення та не прийдеться юзати Ctrl C - Ctrl V, а можна буде самому обрати необхідний хот кей.

Бані хоп завдяки макросу

Я брав гру Parkour Tag.

import keyboard
import time

def macro():
    while True:
        keyboard.press('shift')  # Затискаємо клавішу Shift
        keyboard.press('w')  # Натискаємо клавішу W
        time.sleep(1)  # Затримка на 1 секунду
        keyboard.press('space')  # Натискаємо клавішу Пробіл
        keyboard.release('space')  # Відпускаємо клавішу Пробіл
        keyboard.release('w')  # Відпускаємо клавішу W
        keyboard.release('shift')  # Відпускаємо клавішу Shift

        if keyboard.is_pressed('e'):  # Якщо натиснута клавіша E (англійська)
            break  # Виходимо з циклу

def main():
    while True:
        if keyboard.is_pressed('q'):  # Якщо натиснута клавіша Q
            macro()  # Викликаємо функцію макросу
        if keyboard.is_pressed('e'):  # Якщо натиснута клавіша E (англійська)
            break  # Виходимо з циклу

if __name__ == '__main__':
    main()

Цей код представляє собою простий макрос, який виконує певну послідовність дій при натисканні клавіші "Q". Основна функція main() запускається вічно в циклі while True і очікує натискання клавіш.

Основна функція macro() виконує наступні дії:

  1. Затискає клавішу "Shift" за допомогою keyboard.press('shift').

  2. Затискає клавішу "W" за допомогою keyboard.press('w').

  3. Затримує виконання програми на 1 секунду за допомогою time.sleep(1).

  4. Натискає клавішу "Пробіл" за допомогою keyboard.press('space').

  5. Відпускає клавішу "Пробіл" за допомогою keyboard.release('space').

  6. Відпускає клавішу "W" за допомогою keyboard.release('w').

  7. Відпускає клавішу "Shift" за допомогою keyboard.release('shift').

Ці дії повторюються безкінечно, поки не буде натиснута клавіша "E" англійською мовою. Якщо натиснута клавіша "E", цикл виходить з функції macro() за допомогою оператора break.

У функції main() перевіряється натискання клавіш "Q" та "E". Якщо натиснута клавіша "Q", викликається функція macro(), яка виконує послідовність дій. Якщо натиснута клавіша "E", цикл виходить з функції main() та програма завершує свою роботу.

Отже, цей код створює макрос, який можна активувати натисканням клавіші "Q" і виконує послідовність натискання клавіш "Shift", "W" і "Пробіл" з паузою у 1 секунду між ними. Цикл макросу може бути припинений натисканням клавіші "E".



Розширюйте, покращуйте, вдосконалюйте, зміцнюйте український контент.

Слава Україні!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Пан Євген
Пан Євген@Ukrainian

6.5KПрочитань
0Автори
67Читачі
Підтримати
На Друкарні з 16 квітня

Більше від автора

Вам також сподобається

Коментарі (4)

Корисно?

Вам також сподобається