Pyautogui как установить windows
ERROR: Command errored out with exit status 1:
command: 'd:\новая папка\python.exe' 'd:\новая папка\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\12C2
1\AppData\Local\Temp\tmpdl85k0db'
cwd: C:\Users\Артём\AppData\Local\Temp\pip-install-xf12jclb\pymsgbox
Complete output (14 lines):
running dist_info
creating C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info
writing C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\PKG-INFO
writing dependency_links to C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\dependency_links.txt
writing top-level names to C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\top_level.txt
writing manifest file 'C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\SOURCES.txt'
reading manifest file 'C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
Error in sitecustomize; set PYTHONVERBOSE for traceback:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte (sitecustomize.py, line 7)
warning: no files found matching '*.py' under directory 'pymsgbox'
writing manifest file 'C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.egg-info\SOURCES.txt'
creating 'C:\Users\Артём\AppData\Local\Temp\pip-modern-metadata-txutqof4\PyMsgBox.dist-info'
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Command errored out with exit status 1: 'd:\новая папка\python.exe' 'd:\новая папка\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\12C2
1\AppData\Local\Temp\tmpdl85k0db' Check the logs for full command output.
В этом руководстве мы узнаем, как использовать библиотеку pyautogui в Python 3. Она обеспечивает кроссплатформенную поддержку для управления операциями с мышью и клавиатурой с помощью кода, позволяющего автоматизировать задачи. Библиотека pyautogui также доступна для Python 2, однако мы будем использовать Python 3 на протяжении всего этого руководства.
Такой инструмент имеет множество приложений, некоторые из которых включают создание снимков экрана, автоматизацию тестирования графического интерфейса пользователя (например, Selenium), автоматизацию задач, которые можно выполнить только с помощью графического интерфейса, и т.д.
Прежде чем продолжить это руководство, обратите внимание, что есть несколько предварительных условий. Вы должны иметь базовое представление о синтаксисе Python или программировать на каком-либо другом языке, по крайней мере, для начинающих. В остальном учебник довольно прост и понятен новичкам.
Установка PyAutoGUI в Python
Процесс установки PyAutoGUI довольно прост для всех операционных систем. Однако существует несколько зависимостей для Mac и Linux, которые необходимо установить перед установкой и использованием библиотеки PyAutoGUI в программах.
Windows
Для Windows PyAutoGUI не имеет зависимостей. Просто запустите следующую команду в командной строке, и установка будет завершена.
Для Mac сначала необходимо последовательно установить модули pyobjc-core и pyobjc. Ниже приведены команды, которые необходимо последовательно запустить в терминале для успешной установки:
Linux
Для Linux единственная зависимость – это python3-xlib (для Python 3). Чтобы установить его, а затем pyautogui, запустите в своем терминале две указанные ниже команды:
Общие функции
В этом разделе мы собираемся охватить некоторые из наиболее часто используемых функций из библиотеки PyAutoGUI.
position()
Прежде чем мы сможем использовать функции PyAutoGUI, нам нужно импортировать их в нашу программу:
Эта функция position() сообщает нам текущее положение мыши на экране:
onScreen()
Функция onScreen() сообщает нам, существует ли на экране точка с координатами x и y:
Здесь мы видим, что первая точка существует на экране, но вторая точка выходит за пределы.
Функция size() находит высоту и ширину (разрешение) экрана.
Ваш результат может отличаться и будет зависеть от размера вашего экрана.
Общие операции с мышью
В этом разделе мы собираемся охватить функции PyAutoGUI для управления мышью, которые включают в себя как перемещение положения курсора, так и автоматическое нажатие кнопок с помощью кода.
moveTo()
Синтаксис функции moveTo() следующий:
Значение x_coordinate увеличивается слева направо на экране, а значение y_coordinate увеличивается сверху вниз. Значение как x_coordinate, так и y_coordinate в верхнем левом углу экрана равно 0.
Взгляните на следующий скрипт:
В приведенном выше коде основное внимание уделяется функции moveTo(), которая перемещает курсор мыши по экрану на основе координат, которые мы предоставляем в качестве параметров. Первый параметр – это координата x, а второй параметр – координата y. Важно отметить, что эти координаты представляют собой абсолютное положение курсора.
Еще одна вещь, которая была введена в приведенный выше код, – это свойство PAUSE. В основном он приостанавливает выполнение скрипта на заданное время. Свойство PAUSE было добавлено в приведенный выше код, чтобы вы могли видеть выполнение функции. В противном случае функции будут выполняться за доли секунды, и вы не сможете увидеть, как курсор перемещается из одного места в другое на экране.
Другой обходной путь для этого – указать время для каждой операции moveTo() в качестве третьего параметра функции, например moveTo (x, y, time_in_seconds).
Выполнение вышеуказанного скрипта может привести к следующей ошибке:
Если выполнение функции moveTo() вызывает ошибку, аналогичную показанной выше, это означает, что на вашем компьютере включена функция защиты от сбоев. Чтобы отключить отказоустойчивость, добавьте в начало кода следующую строку:
Эта функция включена по умолчанию, поэтому вы можете легко остановить выполнение вашей программы pyautogui, вручную переместив мышь в верхний левый угол экрана. Как только мышь окажется в этом месте, pyautogui выдаст исключение и завершит работу.
moveRel()
Координаты функции moveTo() абсолютны. Однако, если вы хотите переместить положение мыши относительно текущего положения мыши, вы можете использовать функцию moveRel().
Это означает, что точкой отсчета для этой функции при перемещении курсора будет не верхняя левая точка на экране (0, 0), а текущая позиция курсора мыши. Итак, если ваш курсор мыши в настоящее время находится в точке (100, 100) на экране и вы вызываете функцию moveRel() с параметрами (100, 100, 2), новая позиция вашего курсора перемещения будет (200, 200) .
Вы можете использовать функцию moveRel(), как показано ниже:
Приведенный выше скрипт переместит курсор на 100 пунктов вправо и на 100 пунктов вниз за 2 секунды относительно текущей позиции курсора.
click()
Функция click() используется для имитации операций щелчка мышью. Синтаксис функции click() следующий:
- x: координата x точки, которую нужно достичь.
- y: координата y точки, которую нужно достичь.
- clicks: количество кликов, которые вы хотели бы сделать, когда курсор достигнет этой точки на экране.
- interval: количество времени в секундах между каждым щелчком мыши, например, если вы выполняете несколько щелчков мышью.
- button: укажите, какую кнопку мыши вы хотите нажать, когда курсор переместится в эту точку на экране. Возможные значения: правое, левое и среднее.
Вы также можете выполнять определенные функции щелчка следующим образом:
Здесь x и y представляют координаты x и y, как и в предыдущих функциях.
Вы также можете иметь более детальный контроль над щелчками мыши, указав, когда нажимать и отпускать кнопку мыши. Это делается с помощью функций mouseDown и mouseUp соответственно.
Вот небольшой пример:
Приведенный выше код эквивалентен простому вызову pag.click (x, y).
scroll()
Последняя функция мыши, которую мы рассмотрим, – это прокрутка. Как и ожидалось, у него есть два варианта: прокрутка вверх и прокрутка вниз. Синтаксис функции scroll() следующий:
Для прокрутки вверх укажите положительное значение для параметра amount_to_scroll, а для прокрутки вниз укажите отрицательное значение. Вот пример:
Хорошо, это было для функций мыши. К настоящему времени вы должны иметь возможность управлять кнопками мыши, а также перемещениями по коду. Теперь перейдем к функциям клавиатуры. Их много, но мы рассмотрим только наиболее часто используемые.
Общие операции с клавиатурой
Прежде чем мы перейдем к функциям, важно знать, какие клавиши можно нажимать с помощью кода в pyautogui, а также их точное соглашение об именах. Для этого запустите следующий скрипт:
typewrite()
Функция typewrite() используется для ввода чего-либо в текстовое поле. Синтаксис функции следующий:
Здесь текст – это то, что вы хотите ввести в поле, а интервал – это время в секундах между каждым нажатием клавиши. Вот пример:
Выполнение приведенного выше скрипта приведет к вводу текста «Джунаид Халид» в поле, которое в настоящее время выбрано с паузой в 1 секунду между каждым нажатием клавиши.
Другой способ использования этой функции – передача списка клавиш, которые вы хотите нажимать последовательно. Чтобы сделать это с помощью кода, смотрите пример ниже:
В приведенном выше примере будет введен текст junaide с удалением завершающего e. Ввод в текстовое поле будет отправлен нажатием клавиши Enter.
hotkey()
Функция typewrite() будет нажимать обе эти кнопки последовательно, а не одновременно. И, как вы, наверное, уже знаете, чтобы выполнить команду копирования, вам нужно нажать клавишу C, удерживая клавишу ctrl.
Чтобы нажать две или более клавиш одновременно, вы можете использовать функцию hotkey(), как показано здесь:
screenshot()
Если вы хотите сделать снимок экрана в любой момент, функция screenshot() – это именно та функция, которую вы ищете. Давайте посмотрим, как мы можем реализовать это с помощью PyAutoGUI:
Это сохранит объект PIL, содержащий изображение, в переменной.
Однако, если вы хотите сохранить снимок экрана непосредственно на свой компьютер, вы можете вместо этого вызвать функцию снимка экрана следующим образом:
Это сохранит снимок экрана в файле с указанным именем на вашем компьютере.
Функции confirm(), alert() и prompt()
- Окно подтверждения: отображает информацию и дает вам два варианта: ОК и Отмена.
- Окно оповещения: отображает некоторую информацию и подтверждает, что вы ее прочитали. Он отображает одну кнопку, т.е. ОК.
- Поле подсказки: запрашивает некоторую информацию от пользователя, и при входе пользователь должен нажать кнопку ОК.
Теперь, когда мы увидели типы, давайте посмотрим, как мы можем отображать эти кнопки на экране в той же последовательности, что и выше:
После изучения этого руководства вы сможете использовать PyAutoGUI в Python для автоматизации операций с графическим интерфейсом пользователя для повторяющихся задач в вашем собственном приложении.
Сегодня вы узнаете, «Как автоматизировать компьютерную мышь и клавиатуру с помощью Python». Модуль PyAutoGui способен автоматизировать нашу мышь и клавиатуру . Я видел много статей, связанных с этим модулем, но здесь я постараюсь дать вам некоторые уникальные идеи использования этого модуля.
Анимация мыши с помощью PyAutoGUI
Установка
Windows
В Windows гораздо проще установить и использовать PyAutoGUI . Вы можете установить его из PyPI с помощью pip, если у вас установлен pip.
macOS:
В Os X вам необходимо установить несколько дополнительных модулей, чтобы можно было запускать PyAutoGui .
Linux:
В Linux вам нужно установить несколько пакетов.
Начало
Мы разберём следующие вещи, которые вы можете сделать используя PyAutoGUI.
Предохранители
Пауза
Отказоустойчивость
Этот параметр больше подходит для отмены программы с помощью сочетания клавиш CTRL + C. Если для этого параметра установлено значение True, программа прерывается и выдает pyautogui.FailSafeException исключение, перемещая мышь в верхний левый угол экрана.
Движение мыши
Вы можете переместить мышь в координаты x, y экрана, используя следующую функцию класса pyautogui
Есть еще одна функция, которая перемещает мышь относительно текущей позиции мыши, что означает, что она будет перемещать мышь (100 100) влево и вправо от текущей позиции мыши.
Перетаскивание
Объяснение этих функций аналогично движению мыши.
Клики
Как вы знаете, есть разные типы кликов, которые мы можем выполнять с помощью мыши вручную. PyAutoGUI может позволить нам использовать многие из этих функций. Некоторые из них:
- Одиночный, двойной и тройной клик
- Кнопка мыши верх и вниз
- Левый, правый и средний щелчок
Синтаксис:
Вы можете использовать click() функцию следующим образом:
Есть также отдельные функции, чтобы получить ту же работу.
Нажатие мыши и перетаскивание состоят из нажатия кнопки мыши, движение вниз, и отпускания ее обратно. Если вы хотите , чтобы выполнить эти действия отдельно, вызовите mouseDown() и mouseUp() функции. Они тоже имеют x , y и button .
Прокрутка
Колесо прокрутки у мыши можно имитировать, вызывая scroll() функцию и передавая целое число «нажатий» для прокрутки. Количество прокрутки в «нажатии» зависит от платформы.
Синтаксис
Вы можете использовать scroll() функцию следующим образом:
Вы можете использовать hscroll() для прокрутки влево и вправо на платформах Linux и OSX.
Клавиатура
Написание
Вы можете написать алфавит, слово или предложение с помощью функции из класса pyautogui. Он также предлагает задержку между каждым набирающим словом, что делает его более фантастическим.
Если вы хотите анимировать это предложение и хотите, чтобы компьютер писал его через небольшой промежуток времени, вы можете использовать атрибут интервала.
Нажатие клавиш
Чтобы нажать эти клавиши, вызовите press() функцию и передайте ей определенные значения в строке.
Чтобы нажать более одной клавиши, передать список, он принимает другой необязательный атрибут, presses=1 который ограничивает количество нажатий клавиш (клавиши).
Ключи для этой функции определены и могут быть получены с помощью следующей опции pyautogui.KEYBOARD_KEYS . Он напечатает список определенных ключей, которые он поддерживает. Например: enter , up , down , esc , f1 . Смотрите KEYBOARD_KEYS .
press() это просто обертка для keyUp() и keyDown() функций, которые имитируют нажатие клавиши, а затем отпускание.
Сочетания клавиш
Для удобства нажатия горячих клавиш или сочетаний клавиш hotkey() можно передать несколько последовательностей клавиш, которые будут нажаты по порядку, а затем отпущены в обратном порядке.
Вышеуказанный код эквивалентен
Окно оповещения
Окно подтверждения
Окно подсказки
Окно пароля
Скриншот (поиск изображений)
PyAutoGUI может делать снимки экрана, сохранять их в файлы и находить изображения на экране. Это полезно, если у вас есть маленькое изображение, скажем, кнопки, которую нужно нажать, и вы хотите найти ее на экране
Снимок экрана
Вызов screenshot() вернет объект Image. Передача строки имени файла сохранит снимок экрана в файл, а также вернет его как объект изображения.
Существует также необязательный region аргумент ключевого слова, если вы не хотите снимок экрана всего экрана. Вы можете передать четырехзначный кортеж left, top, width и height области для захвата:
Нахождение изображения на экране
Вы можете визуально найти что-то на экране, если у вас есть файл изображения этого. Например, допустим, что приложение калькулятора запущено на вашем компьютере и выглядит так:
Калькулятор
и у вас есть изображение кнопки, например, изображение кнопки 7
7 кнопка
Вы можете вызвать locateOnScreen('7key.jpg') функцию, чтобы получить координаты экрана. Возвращаемое значение представляет собой 4-х целочисленный кортеж: (слева, сверху, ширина, высота). Однако, если вы просто хотите получить координаты x и y изображения на экране, вы можете вызвать, locateCenterOnScreen() который вернет только координаты x и y . Если изображение на экране не найдено, оно выведет ImageNotFoundException . Если вы хотите нажать на это изображение или объект, просто передайте координаты x и y из возвращаемых значений предыдущих функций в click() функцию. Чтобы узнать больше о размещении объектов на экране, перейдите по этой ссылке .
Другие особенности
Размер экрана
Чтобы получить размер экрана, в PyAutoGUI есть функция, size() которая возвращает кортеж целых чисел: (ширина, высота) для размера основного монитора.
Положение курсора
Чтобы получить текущую позицию курсора, в PyAutoGUI есть функция, position() которая возвращает кортеж целых чисел: (x, y) для текущей позиции курсора мыши.
Этот модуль можно использовать и во многих других случаях. Например, в некоторых компьютерных играх важна точность. Как вы думаете, вы можете перетащить мышь или нажать клавишу пробела более точно, чем ваш скрипт?
Игра Страшный лабиринт
Цель состоит в том, чтобы переместить курсор по синему пути. Если вы дотронетесь до черного пикселя, вы вернетесь к началу.
Самым сложным, на мой взгляд, была заключительная часть, где коридор слишком узок. Что, если бы вы могли создать скрипт на python, для самостоятельного завершения лабиринта?
Игра Google Dino
Другой пример: вы наверняка знаете эту игру
Игра Google Динозавр
Он, вероятно, наименее любимый друг из всех пользователей Chrome, так как в него играют только когда нет интернета. Цель состоит в том, чтобы просто избежать препятствий, которые приближаются к Динозавру.
Вы можете непрерывно делать снимки экрана своего игрового экрана и анализировать следующее:
- как быстро движется препятствие?
- как высоко это препятствие?
- день или ночь? примечание: пиксели чередуются между черным и белым
- сколько препятствий отображается в данный момент?
- где должно быть препятствие для запуска команды прыжка / приседания?
На этом изображении препятствия классифицируются в красных прямоугольниках. Динозавр должен прыгнуть, если красная коробка коснулась зеленой линии. Здесь немного математики, но это неважно в данный момент. Если у вас есть рабочий код, которым вы хотите поделиться, то скидывайте в наш чат и добавляйте наивысший балл, который вы достигли, используя свой код.
Откладывание текстов
Читатель диаграммы
Несколько лет назад мы с другом обнаружили веб-сайт с потрясающей инвестиционными возможностями.
График цен для EUR / USD где-то в 2017 году
Все, что вам нужно было сделать, это решить, увеличилась или снизилась цена между текущим моментом и красной линией. Вы делаете ставку, и если ваше мнение было правильным, вы получите свою ставку + 90%. Поэтому мы подумали, что нам понадобится алгоритм, который статистически корректен более чем на 56%. Мы надеялись, что сможем создать алгоритм, который будет верен, по крайней мере, на 70–80% всех прогнозов, и мы будем плавать в огромном денежном океане.
При создании торгового алгоритма я не нашел способа получить доступ к тем же ценовым данным. Поэтому я создал функцию, которая читает график с захваченным скриншотом. Идея была проста: я перебрал ось X с простым циклом for. Если указана x-координата, я итерировал по оси y с другим для цикла, пока цвет пикселя не стал белым, а не оранжевым. Этот метод возвращает список относительных высот точек данных на рисунке. Соответствующий код был:
Вывод
В этом уроке мы узнали, как использовать PyAutoGUI библиотеку для автоматизации. Мы поговорили о процессе его установки для различных операционных систем, а затем изучили некоторые его общие функции. После этого мы изучили функции, специфичные для движений мыши, управления мышью и клавиатуры.
После изучения этого руководства вы можете использовать PyAutoGUI для автоматизации операций с графическим интерфейсом для повторяющихся задач в своем собственном приложении.
Одним из инструментов автоматизации задач на компьютере являются программы, которые напрямую управляют клавиатурой и мышью. Эти программы могут управлять другими приложениями, посылая им виртуальные нажатия клавиш и щелчки мыши, просто - как если бы вы сидели за своим компьютером и сами взаимодействовали с приложениями. Этот метод известен как автоматизация графического интерфейса пользователя.
Автоматизация графического интерфейса пользователя чем то напоминает программирование манипулятора. Мы можем запрограммировать роботизированную руку так, чтобы она печатала на клавиатуре и перемещала мышь за нас. Этот метод особенно полезен для задач, связанных с бессмысленным щелчком или заполнением форм. Для подобных действий нужен отдельный программный модуль.
Таким модулем в Python является PyAutoGUI.
Установим его командой:
В зависимости от того, какую операционную систему вы используете, вам может потребоваться установить некоторые другие модули (так называемые зависимости), прежде чем мы сможем установить PyAutoGUI.
В Windows следующие действия пропускаем.
В OS X запустите sudo pip3 install pyobjc-framework-Quartz, sudo pip3 install pyobjc-core, а затем sudo pip3 install pyobjc.
В Linux запустите sudo pip3 install python3-xlib, sudo apt-get install scrot, sudo apt-get install python3-tk и sudo apt-get install python3-dev. (Scrot - это программа для создания снимков экрана, которую использует PyAutoGUI.)
После установки этих зависимостей запустите pip install pyautogui (или pip3 в OS X и Linux), чтобы установить PyAutoGUI.
Мы можем заставить сценарий ждать после каждого вызова функции, что даст время для управления мышью и клавиатурой, если что-то пойдет не так. Для этого установим переменную pyautogui.PAUSE на количество секунд, на которое мы хотим, чтобы она приостанавливалась.Например, после установки pyautogui.PAUSE = 1.5 каждый вызов функцииPyAutoGUI будет ждать полторы секунды после выполнения своего действия. Инструкции, не относящиеся к PyAutoGUI, не будут иметь этой паузы.
PyAutoGUI также имеет отказоустойчивую функцию. Перемещение курсора мыши в верхний левый угол экрана приведет к тому, что PyAutoGUI вызовет исключение pyautogui.FailSafeException. Ваша программа может либо обработать это исключение с помощью операторов try и except, либо позволить исключению привести к сбою вашей программы. В любом случае функция отказоустойчивости остановит программу, если вы быстро переместите мышь как можно дальше вверх и влево. Мы можем отключить эту функцию, установив pyautogui.FAILSAFE = False. Введите в интерактивную оболочку следующее:
Управление движением мыши
Прежде чем вы узнаете, как перемещать мышь и отслеживать ее положение на экране с помощью PyAutoGUI, давайте сначала разберемся, как PyAutoGUI работает с координатами.
Функции мыши PyAutoGUI используют координаты x и y. Начало координат, где x и y равны нулю, находится в верхнем левом углу экрана. Координаты x увеличиваются при движении вправо, а координаты y увеличиваются при движении вниз. Все координаты - целые положительные числа; отрицательных координат нету.
Разрешение - это высота и ширина экрана в пикселях. Если разрешение вашего экрана установлено на 1366 / 768, то координата для левого верхнего угла будет (0, 0), а координата для правого нижнего угла будет (1366, 768).
Функция pyautogui.size() возвращает кортеж из двух целых чисел ширины и высоты экрана в пикселях. Введем в интерактивную оболочку следующее:
>>> width, height = pyautogui.size()
Перемещение мыши
Теперь, когда мы разобрались с координатами экрана, давайте переместим мышь. Функция pyautogui.moveTo() мгновенно переместит курсор мыши в указанную позицию на экране. Целочисленные значения координат x и y составляют первый и второй аргументы функции соответственно. Необязательный аргумент целочисленного значения длительности или ключевого слова с плавающей запятой указывает количество секунд, необходимое для перемещения мыши к месту назначения. Если вы его не укажете, по умолчанию будет 0 для мгновенного движения. Все аргументы ключевого слова duration в функциях PyAutoGUI являются необязательными. Введем в интерактивную оболочку следующее:
>>> import pyautogui
>>> for i in range(10):
pyautogui.moveTo(100, 100, duration=0.25)
pyautogui.moveTo(200, 100, duration=0.25)
pyautogui.moveTo(200, 200, duration=0.25)
pyautogui.moveTo(100, 200, duration=0.25)
Функция pyautogui.moveRel() перемещает курсор мыши относительно его текущей позиции.В следующем примере мышь перемещается по тому же квадратному шаблону, за исключением того, что он начинает квадрат с того места, где мышь оказывается на экране, когда запускается код:
>>> import pyautogui
>>> for i in range(10):
pyautogui.moveRel(100, 0, duration=0.25)
pyautogui.moveRel(0, 100, duration=0.25)
pyautogui.moveRel(-100, 0, duration=0.25)
pyautogui.moveRel(0, -100, duration=0.25)
Получение координат мыши
Также мы можем определить текущее положение мыши, вызвав функцию pyautogui.position(), которая вернет кортеж позиций курсора мыши по x и y во время вызова функции. Введите в интерактивную оболочку следующее, перемещая мышь после каждого вызова:
Таким образом мы научились программно управлять передвижением курсора мыши, получать координаты его положения на экране, а также использовали функцию прерывания программы.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Она выглядит вот так:
Комментарии ( 0 ):
pyautogui python
Всем привет! Сегодня мы с вами начнем знакомство с очень интересным модулем в python который называется pyautogui. С помощью него можно имитировать различные действия пользователя. Для начала рассмотрим работу с мышью. Итак, поехали!
Прежде чем начать работу с модулем pyautogui, необходимо его установить.
Обычно это делается через стандартную утилиту pip в python.
После установки импортируем и проверяем.
Если после выполнения ошибок не возникло, значит модуль успешно установлен и готов к работе.
Первым делом давайте определим координаты мыши и выведем их в консоль.
С помощью метода position() объекта pyautogui мы определили текущие координаты мыши на момент запуска программы.
С помощью модуля pyautogui мы также можем перемещать курсор мыши в заданную координату за определенное время. Делается это с помощью методов moveTo() и moveRel().
При выполнении данного кода курсор мыши начнет перемещаться в точку с координатами (100, 200) в течении 2 секунд.
Если мы хотим чтобы курсор мыши перемещалcя только по горизонтали, то в качестве координаты Y нам достаточно будет указать значение None.
Также и с перемещением по вертикали.
Метод moveRel() немного работает по другому. С помощью него мы также можем перемещать курсор мыши, но только относительно его текущей позиции.
При выполнении данного кода курсор мыши переместится на 300 пикселей влево и вниз за 3 секунды относительно своей изначальной позиции.
Для перемещения элементов вместе с курсором мыши мы можем воспользоваться методами dragTo() и dragRel(). Они аналогичны методам moveTo() и moveRel(). Только здесь у нас при перемещении происходит зажимание определенной кнопки мыши.
С помощью данного кода курсор мыши переместится в координату (300,400) за 2 секунды причем при перемещении у нас будет зажата левая кнопка мыши. В результате чего у нас произойдет эффект выделения области.
C dragRel() то же самое, только перемещение курсора будет относительно начальной координаты.
Отлично! Далее рассмотрим нажатия кнопок мыши. За это отвечают методы click() и doubleClick().
C помощью метода click() мы можем сделать одиночный клик мышкой.
Если мы хотим сделать клик в определенном месте, то можно указать координаты.
Здесь мы произвели клик в координате (100,200).
Для реализации нескольких кликов:
При выполнении данного кода у нас в координате (100,200) выполнится три клика с интервалом в пол секунды.
Если мы хотим выполнить двойной клик достаточно воспользоваться методом doubleClick().
По умолчанию метод click() использует только левую кнопку мыши.
Если нам нужно использовать правую кнопку мыши достаточно в параметре button указать значение right
в результате выполнения будет нажата правая кнопка мыши.
И напоследок рассмотрим прокручивание колесика мыши.
C помощью метода scroll() мы на заданное количество поворотов колесика мыши можем делать прокрутку.
В нашем примере мы сделали десять поворотов колесика мыши вниз.
Вот так вот используя модуль pyautogui мы можем управлять мышкой, имитируя действия пользователя. На этом данная статья подошла к концу. Если есть вопросы, пожелания оставляйте их в комментариях или группе
А я на этом с вами прощаюсь. Желаю успехов и удачи! Пока!
Оцените статью:
Статьи
Комментарии
Внимание. Комментарий теперь перед публикацией проходит модерацию
didi_23_45
Все ясно и просто .
Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Читайте также: