Как написать автокликер на python
Перейти к содержимому

Как написать автокликер на python

  • автор:

Python Auto Clicker

This is a script that allows you to click your mouse repeatedly with a small delay. It works on Windows, Mac and Linux and can be controlled with user-defined keys.

This project uses the cross-platform module pynput to control the mouse and monitor the keyboard at the same time to create a simple auto clicker.

If you haven’t used or setup pip before, look at my tutorial on how to setup python’s pip to setup pip.

We will be using the pynput module to listen to mouse events. To install this module execute pip install pynput in cmd. Watch the output to make sure no errors have occurred; it will tell you when the module has been successfully installed.

Installing pynput

To double-check that it was installed successfully, open up IDLE and execute the command import pynput ; no errors should occur.

Testing pynput

.

Writing the Code

First, we need to import time and threading. Then import Button and Controller from pynput.mouse so we can control the mouse and import Listener and KeyCode from pynput.keyboard so we can watch for keyboard events to start and stop the auto clicker.

Next create four variables as shown below. ‘delay’ will be the delay between each button click. ‘button’ will be the button to click, this can be either ‘Button.left’, ‘Button.right’ or even ‘Button.middle’. ‘start_stop_key’ is the key you want to use to start and stop the auto clicker. I have set it to the key ‘s’ to make it nice and simple, you can use any key here. Finally, the ‘exit_key’ is the key to close the program set it like before, but make sure it is a different key.

Now create a class that extends threading.Thread that will allow us to control the mouse clicks. Pass they delay and button to this and have two flags that determine whether it is running or if the whole program is stopping.

Next, add the methods shown below to control the thread externally.

Now we need to create the method that is run when the thread starts. We need to keep looping while the program_running is true and then create another loop inside that checks if the running is set to true. If we are inside both loops, click the set button and then sleep for the set delay.

Now we want to create an instance of the mouse controller, create a ClickMouse thread and start it to get into the loop in the run method.

Now create a method called on_press that takes a key as an argument and setup the keyboard listener.

Now modify the on_press method. If the key pressed is the same as the start_stop_key, stop clicking if the running flag is set to true in the thread otherwise start it. If the key pressed is the exit key, call the exit method in the thread and stop the listener. The new method will look like this:

This script can be saved as a .pyw to run in the background. It can easily be still closed using the set exit key even when no dialog is shown.

Using the Script

To use this script set the variables at the top to what you want.

  • delay : They delay between each mouse click (in seconds)
  • button : The mouse button to click; Button.left | Button.middle | Button.right
  • start_stop_key : They key to start and stop clicking. Make sure this is either from the Key class or set using a KeyCode as shown.
  • exit_key : The key to stop the program. Make sure this is either from the Key class or set using a KeyCode as shown.

Then run the script and use the start/stop key when wanted. Press the set exit key to exit.

Common Issues and Questions

ModuleNotFoundError/ImportError: No module named ‘pynput’

Did you install pynput? This error will not occur if you installed it properly. If you have multiple versions of Python, make sure you are installing pynput on the same version as what you are running the script with.

I got a SyntaxError

Syntax errors are caused by you and there is nothing I can offer to fix it apart from telling you to read the error. They always say where the error is in the output using a ^. Generally, people that get this issue have incorrect indentation, brackets in the wrong place or something spelt wrong. You can read about SyntaxError on Python’s docs here.

‘python’ is not recognized as an internal or external command

Python hasn’t been installed or it hasn’t been installed properly. Go to /blog/post/how-to-setup-pythons-pip/ and follow the tutorial. Just before you enter the scripts folder into the path variable, remove the «\scripts\» part at the end. You will also want to add another path with «\scripts\» to have pip.

Edited 11/08/18: Added Python 2 support

Owner of PyTutorials and creator of auto-py-to-exe. I enjoy making quick tutorials for people new to particular topics in Python and tools that help fix small things.

Autoclicker with python

Python

This autoclicker is mainly for the game realm grinder, however this autocicker should be easily applied to other clicking game as well.

Feature

  • Protect the mouse
  • Save your time from duplicate clicking
  • Learn some python code

I have uploaded the code to the python autoclicker github repo.

As I am running in windows 8, there are some python module that is needed to be installed through window binaries — for example pywin32.

Как сделать Автоматический кликер в Python | Auto Clicker Script

Auto clicker-это скрипт, доступный на python, который облегчает пользователю многократное нажатие мыши с небольшими интервалами задержки.

  • Автор записи

Как сделать Автоматический кликер в Python | Auto Clicker Script

Привет, кодеры!! В этой статье мы разберемся с концепцией auto clicker в python. Сначала мы поймем его значение и его реализацию в python. Поэтому, не теряя времени, давайте сразу перейдем к теме.

Что такое автоматический кликер?

Auto clicker-это скрипт, доступный на python, который облегчает пользователю многократное нажатие мышью в течение небольших интервалов задержки. Он управляется пользовательскими ключами и работает в любой среде-Windows, Mac и Linux. Для достижения этой цели мы будем использовать модуль под названием PyAutoGUI в Python. Это позволит нам одновременно управлять мышью и следить за клавиатурой.

Способы создания Автоматического кликера в Python:

  1. Использование PyAutoGui
  2. Использование входных данных

Установка PyAutoGUI:

Чтобы установить pyautogui, введите следующую команду:

Ключевые особенности PyAutoGUI:

  • Отправляет нажатия клавиш в приложения
  • Перемещает мышь и щелкает в окнах других приложений
  • Найдите окно приложения
  • Отображение окон сообщений для взаимодействия с пользователем

Управление клавиатурой и мышью с помощью PyAutoGUI:

PyAutoGUI использует координату (x,y) с началом координат (0,0) в левом верхнем углу экрана. Координаты x увеличиваются, когда мы идем вправо, тогда как координаты “y ” увеличиваются, когда мы идем вниз. В настоящее время PyAutoGUI работает только на основном мониторе. Это ненадежно для экрана второго монитора. Все нажатия на клавиатуре, выполняемые PyAutoGUI, доставляются в окно, которое в данный момент имеет фокус.

Создание автоматического кликера в Python с помощью PyAutoGUI:

Создание Автоматического кликера в Python с помощью ввода:

Pynput-это модуль, доступный в python и используемый для управления движениями мыши. Он может быть использован для создания автоматического кликера в python.

Установка Pynput:

Чтобы установить input, введите следующую команду:

Объяснение:

Импорт необходимых модулей:
  • Кнопка и контроллер: для управления мышью.
  • Listener and keyCode: чтобы следить за событиями клавиатуры, чтобы запустить и остановить автоматический кликер python.
Объявление важных переменных:
  • кнопка: кнопка, на которую будет нажата кнопка.
  • begin_end: ключ, который мы будем использовать для запуска и остановки автоматического кликера.
  • exit_key: для закрытия и сброса программы и сброса всего.
Создание класса для расширения потоковой передачи:

Созданный поток позволит нам управлять щелчками мыши. Есть два параметра – задержка и кнопка. Есть также два флага о том, работает программа или нет.

Создание методов для обработки потока извне:
  • begin(): запускает поток
  • end(): останавливает поток
  • exit(): завершает работу программы и сбрасывает ее
Создание метода, который будет выполняться при запуске потока:

Этот метод будет запущен после запуска потока. Мы будем продолжать повторять цикл до тех пор, пока значение run_prgm не станет истинным. Цикл внутри первого цикла повторяется до тех пор, пока значение прогона не станет Истинным. Как только мы окажемся внутри обеих петель, мы нажмем кнопку set.

Создание экземпляра для контроллера мыши:

Созданный нами поток Mouse_click запустится, когда пользователь войдет в цикл в методе run.

Создание метода настройки прослушивателя клавиатуры:

Если нажата клавиша begin_end, она перестанет щелкать, учитывая, что флаг установлен в true. В противном случае он начнет его. Если нажата клавиша exit_key, то метод exit вызывается в потоке и останавливает href=”https://en.wikipedia.org/wiki/Listener”>слушатель. href=”https://en.wikipedia.org/wiki/Listener”>слушатель.

Подробнее >> Интересные Фреймворки Python, Которые Вы должны знать

Вывод: Python Auto Clicker

Это два разных способа, с помощью которых можно создать автоматический кликер в python. Он может быть дополнительно модифицирован в соответствии с вашими требованиями.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Введение

NOP::Nuances of Programming

Работу по вводу данных можно разделить на следующие категории:

  1. Извлечение данных из таблиц (Excel, Google Sheets) и перемещение их в другое место (веб-страница или другая таблица).
  2. Просмотр данных в интернете (онлайн магазины) или в журналах, сбор данных и файлов (простого текста и изображений) и копирование их в базу данных.

Каким образом можно ускорить этот процесс? В этом нам помогут модули автоматизации Python!

Предварительная подготовка

Документацию и руководство пользователя по модулю PyAutoGUI в Python можно прочитать ЗДЕСЬ. Загрузка модуля выполняется через командную строку:

Чтобы использовать модуль внутри сценария, его нужно импортировать:

“as pag” используется для ввода меньшего количества символов в следующем коде: pag.click() намного короче, чем pyautogui.click().

Управление клавиатурой

Примечание: инструкции в данном разделе основаны на документации PyAutoGUI и содержат несколько примеров из нее.

typewrite() — самая главная команда для управления клавиатурой. Например:

Этот фрагмент кода работает, как при написании “Hello world!” вручную, однако выполняется без нажатия клавиш. Очень удобно!

Чтобы добавить задержку между нажатиями клавиш, можно использовать следующую команду:

Она печатает каждый символ с интервалом в четверть секунды.

Примечание: с помощью этой функции можно печатать только сообщения. Внутри функции typewrite() невозможно нажать enter или использовать shift.

Список клавиш клавиатуры

Ниже приведен список клавиш клавиатуры, которые можно передать функциям press(), keyUp(), keyDown() или hotkey():

Функции keyDown() и keyUp() имитируют нажатие и отпускание клавиши. Например:

Этот фрагмент кода нажимает и отпускает клавишу enter. Будьте осторожны и никогда не оставляйте клавишу нажатой 🙂

Функция press() объединяет две предыдущих. Клавиша, передаваемая функции, нажата и отпущена:

Два предыдущих фрагмента кода выдают одинаковый результат!

Чтобы нажать несколько клавиш, аргументы передаются в виде списка:

Последняя функция клавиатуры — это hotkey(), упрощающая использование сочетаний клавиш. Просто передайте ей несколько клавиш, которые будут нажаты по порядку, а затем отпущены в обратном порядке. Например:

Эквивалентно следующему коду:

Управление мышью

Места расположения мыши на экране обозначены координатами X и Y: X начинается с 0 с левой стороны и увеличивается вправо, а Y начинается с 0 в верхней части экрана и увеличивается с понижением.

Чтобы узнать размер экрана, используйте функцию size:

Она возвращает кортеж, например (1920×1080), обозначающий разрешение экрана.

Список других функций мыши:

Более подробную информацию можно найти ЗДЕСЬ или ЗДЕСЬ.

Применение на практике

Предположим, что вы руководите большой компанией и хотите, чтобы весь 1 000 000 сотрудников были зарегистрированы на популярном веб-сайте. Первый способ — выполнить это вручную. Если для регистрации одного пользователя требуется 30 секунд, а работа будет выполняться 24 часа в сутки, то этот процесс займет более 347 дней. Достаточно долго. Вместо этого можно потратить несколько часов на написание программы и предоставить выполнение работы компьютерам. Приступим!

Допустим, вы уже определили список адресов электронной почты всех сотрудников:

Приступим к созданию кода. Он начинается с импортов и открытия платформы crazycoolwebsite.

Затем нужно добавить код для навигации по процессу регистрации. Предположим, что он выглядит следующим образом:

  1. Главная страница -> нажатие “Get started”
  2. Всплывающее окно -> нажатие “Sign up with email”
  3. Окно ввода электронной почты -> ввод адреса электронной почты и нажатие Enter
  4. Готово! Закройте окно, а пользователь получит дальнейшие инструкции на электронную почту.

В коде это выглядит так:

Вот и все! Если указаны точные координаты нажатия (xcoord1, ycoord1, xcoord2 и ycoord2), то код сделает свое дело. Не советуем использовать этот метод как способ рассылки спама.

Примечание: при автоматизации следует учитывать временной фактор. Вы не можете предсказать, сколько времени займет открытие файла или загрузка веб-страницы. Найдите безопасные интервалы для “приостановки кода” или реализации функций, которые определяют, загружена ли страница (PyAutoGUI проверяет, является ли определенное количество пикселей белым (страница все еще загружается) или обозначено другим цветом (страница загружена!).

Немного о работе по вводу данных в целом: большинство заданий не так просты, как в описанном выше примере, однако процесс извлечения данных из A и вставки их в B остается практически неизменным. Различаются только структуры данных и ресурсы.

Добавим немного воображения

Этот модуль можно использовать и во многих других случаях. Например, в некоторых компьютерных играх крайне важна точность. Сможете ли вы перетащить мышь или нажать клавишу пробела более точно, чем написанный сценарий?

Игра Scary maze

Цель игры Scary maze состоит в том, чтобы перемещать курсор по синему пути. При соприкосновении с черным пикселем вы возвращаетесь к началу.

Заключительная часть с узким коридором, конечно, самая сложная. А что, если создать сценарий python для завершения лабиринта?

Игра Google Dino

Другой пример: помните этого парня?

Он, вероятно,самый нелюбимый друг всех пользователей Chrome, поскольку он приходит в гости лишь при отсутствии интернета. Попробовать игру можно ЗДЕСЬ. Цель состоит в обходе препятствий, приближающихся к Dino.

Сделайте несколько скриншотов игрового экрана и проанализируйте следующее:

  • С какой скоростью движется препятствие?
  • На какой высоте оно находится?
  • Событие происходит днем или ночью? Примечание: пиксели чередуются между черным и белымцветами.
  • Сколько препятствий отображается в данный момент?
  • Где должно находиться препятствие для запуска команды прыжка/уклонения?

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

Отсрочка отправки текста

Сталкивались ли вы с такой ситуацией, когда, закончив писать письмо/сообщение в 3 часа ночи, вы не знаете, отправлять ли его сейчас или подождать до утра, чтобы избежать таких вопросов, как “почему вы не спите ночью, как нормальные люди?” Есть простое решение:

Этот сценарий откладывает отправку сообщения на 6 часов (время задержки можно изменить).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *