Как скачать модуль pyautogui в питоне?
Не могу скачать модуль pyautogui на питоне, можете подсказать как скачать?
- Вопрос задан более двух лет назад
- 1143 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 1
soremix @SoreMix Куратор тега Python
pip install PyAutoGUI
https://pypi.org/project/PyAutoGUI/
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Python
- +1 ещё
Почему при большом количестве строк async выдает ошибку?
- 1 подписчик
- 2 часа назад
- 22 просмотра
- Python
- +1 ещё
Почему не удаляются сообщения в vk_api?
- 1 подписчик
- 4 часа назад
- 8 просмотров
- Python
Как получить url страницы и какие есть способы изменять html код через python?
- 2 подписчика
- 10 часов назад
- 78 просмотров
- PHP
- +1 ещё
Как unserialize данные от питона?
- 1 подписчик
- 14 часов назад
- 111 просмотров
- Python
Как правильно оформить код?
- 2 подписчика
- вчера
- 145 просмотров
- Python
- +1 ещё
Как формировать сырые SQL запросы максимально эффективно?
- 2 подписчика
- вчера
- 131 просмотр
- Python
Что сделать что бы при print списка выводились нормальные данные а не что то непонятное?
- 1 подписчик
- вчера
- 85 просмотров
- Python
- +1 ещё
Как исправить ошибку * ModuleNotFoundError: No module named ‘keyboard при запуске файла python через консоль?
- 1 подписчик
- вчера
- 59 просмотров
- Python
- +1 ещё
Не понимаю, почему программа «тяжелая»?
- 1 подписчик
- вчера
- 161 просмотр
- Python
Как ускорить код на Python?
- 1 подписчик
- вчера
- 269 просмотров
от 120 000 ₽
Quatromatic • Новосибирск
Greenway • Новосибирск
от 150 000 до 200 000 ₽
30 окт. 2023, в 01:46
8000 руб./за проект
30 окт. 2023, в 01:42
10000 руб./за проект
30 окт. 2023, в 01:00
50000 руб./за проект
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Установка Zabbix Agent на большое количество машин Windows без домена?
- 3 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
- 2 подписчика
- 0 ответов
- 2 подписчика
- 2 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 0 ответов
- 1 подписчик
- 2 ответа
- 2 подписчика
- 0 ответов
- 1 подписчик
- 2 ответа
- 2 подписчика
- 0 ответов
Installation¶
To install PyAutoGUI, install the pyautogui package from PyPI by running pip install pyautogui (on Windows) or pip3 install pyautogui (on macOS and Linux). (On macOS and Linux, pip refers to Python 2’s pip tool.)
OS-specific instructions are below.
Windows¶
On Windows, you can use the py.exe program to run the latest version of Python:
py -m pip install pyautogui
If you have multiple versions of Python installed, you can select which one with a command line argument to py . For example, for Python 3.8, run:
py -3.8 -m pip install pyautogui
(This is the same as running pip install pyautogui .)
macOS¶
On macOS and Linux, you need to run python3 :
python3 -m pip install pyautogui
If you are running El Capitan and have problems installing pyobjc try:
MACOSX_DEPLOYMENT_TARGET=10.11 pip install pyobjc
Linux¶
On macOS and Linux, you need to run python3 :
python3 -m pip install pyautogui
On Linux, additionally you need to install the scrot application, as well as Tkinter:
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
PyAutoGUI install the modules it depends on, including PyTweening, PyScreeze, PyGetWindow, PymsgBox, and MouseInfo.
© Copyright 2019, Al Sweigart Revision 24d638dc .
Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latestVersions latest Downloads pdf html epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.
Библиотека PyAutoGUI в Python
В этом руководстве мы узнаем, как использовать библиотеку pyautogui в Python 3. Она обеспечивает кроссплатформенную поддержку для управления операциями с мышью и клавиатурой с помощью кода, позволяющего автоматизировать задачи. Библиотека pyautogui также доступна для Python 2, однако мы будем использовать Python 3 на протяжении всего этого руководства.
Такой инструмент имеет множество приложений, некоторые из которых включают создание снимков экрана, автоматизацию тестирования графического интерфейса пользователя (например, Selenium), автоматизацию задач, которые можно выполнить только с помощью графического интерфейса, и т.д.
Прежде чем продолжить это руководство, обратите внимание, что есть несколько предварительных условий. Вы должны иметь базовое представление о синтаксисе Python или программировать на каком-либо другом языке, по крайней мере, для начинающих. В остальном учебник довольно прост и понятен новичкам.
Установка PyAutoGUI в Python
Процесс установки PyAutoGUI довольно прост для всех операционных систем. Однако существует несколько зависимостей для Mac и Linux, которые необходимо установить перед установкой и использованием библиотеки PyAutoGUI в программах.
Windows
Для Windows PyAutoGUI не имеет зависимостей. Просто запустите следующую команду в командной строке, и установка будет завершена.
$ pip install PyAutoGUI
Mac
Для Mac сначала необходимо последовательно установить модули pyobjc-core и pyobjc. Ниже приведены команды, которые необходимо последовательно запустить в терминале для успешной установки:
$ pip3 install pyobjc-core $ pip3 install pyobjc $ pip3 install pyautogui
Linux
Для Linux единственная зависимость – это python3-xlib (для Python 3). Чтобы установить его, а затем pyautogui, запустите в своем терминале две указанные ниже команды:
$ pip3 install python3-xlib $ pip3 install pyautogui
Общие функции
В этом разделе мы собираемся охватить некоторые из наиболее часто используемых функций из библиотеки PyAutoGUI.
position()
Прежде чем мы сможем использовать функции PyAutoGUI, нам нужно импортировать их в нашу программу:
import pyautogui as pag
Эта функция position() сообщает нам текущее положение мыши на экране:
pag.position()
Point (x = 643, y = 329)
onScreen()
Функция onScreen() сообщает нам, существует ли на экране точка с координатами x и y:
print(pag.onScreen(500, 600)) print(pag.onScreen(0, 10000))
True False
Здесь мы видим, что первая точка существует на экране, но вторая точка выходит за пределы.
size()
Функция size() находит высоту и ширину (разрешение) экрана.
pag.size()
Size (width = 1440, height = 900)
Ваш результат может отличаться и будет зависеть от размера вашего экрана.
Общие операции с мышью
В этом разделе мы собираемся охватить функции PyAutoGUI для управления мышью, которые включают в себя как перемещение положения курсора, так и автоматическое нажатие кнопок с помощью кода.
moveTo()
Синтаксис функции moveTo() следующий:
pag.moveTo(x_coordinate, y_coordinate)
Значение x_coordinate увеличивается слева направо на экране, а значение y_coordinate увеличивается сверху вниз. Значение как x_coordinate, так и y_coordinate в верхнем левом углу экрана равно 0.
Взгляните на следующий скрипт:
pag.moveTo(0, 0) pag.PAUSE = 2 pag.moveTo(100, 500) # pag.PAUSE = 2 pag.moveTo(500, 500)
В приведенном выше коде основное внимание уделяется функции moveTo(), которая перемещает курсор мыши по экрану на основе координат, которые мы предоставляем в качестве параметров. Первый параметр – это координата x, а второй параметр – координата y. Важно отметить, что эти координаты представляют собой абсолютное положение курсора.
Еще одна вещь, которая была введена в приведенный выше код, – это свойство PAUSE. В основном он приостанавливает выполнение скрипта на заданное время. Свойство PAUSE было добавлено в приведенный выше код, чтобы вы могли видеть выполнение функции. В противном случае функции будут выполняться за доли секунды, и вы не сможете увидеть, как курсор перемещается из одного места в другое на экране.
Другой обходной путь для этого – указать время для каждой операции moveTo() в качестве третьего параметра функции, например moveTo (x, y, time_in_seconds).
Выполнение вышеуказанного скрипта может привести к следующей ошибке:
Traceback (most recent call last): File "a.py", line 5, in pag.moveTo (100, 500) File "/anaconda3/lib/python3.6/site-packages/pyautogui/__init__.py", line 811, in moveTo _failSafeCheck() File "/anaconda3/lib/python3.6/site-packages/pyautogui/__init__.py", line 1241, in _failSafeCheck raise FailSafeException ('PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen. To disable this fail-safe, set pyautogui.FAILSAFE to False. DISABLING FAIL-SAFE IS NOT RECOMMENDED.') pyautogui.FailSafeException: PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen. To disable this fail-safe, set pyautogui.FAILSAFE to False. DISABLING FAIL-SAFE IS NOT RECOMMENDED.
Если выполнение функции moveTo() вызывает ошибку, аналогичную показанной выше, это означает, что на вашем компьютере включена функция защиты от сбоев. Чтобы отключить отказоустойчивость, добавьте в начало кода следующую строку:
pag.FAILSAFE = False
Эта функция включена по умолчанию, поэтому вы можете легко остановить выполнение вашей программы pyautogui, вручную переместив мышь в верхний левый угол экрана. Как только мышь окажется в этом месте, pyautogui выдаст исключение и завершит работу.
moveRel()
Координаты функции moveTo() абсолютны. Однако, если вы хотите переместить положение мыши относительно текущего положения мыши, вы можете использовать функцию moveRel().
Это означает, что точкой отсчета для этой функции при перемещении курсора будет не верхняя левая точка на экране (0, 0), а текущая позиция курсора мыши. Итак, если ваш курсор мыши в настоящее время находится в точке (100, 100) на экране и вы вызываете функцию moveRel() с параметрами (100, 100, 2), новая позиция вашего курсора перемещения будет (200, 200) .
Вы можете использовать функцию moveRel(), как показано ниже:
pag.moveRel(100, 100, 2)
Приведенный выше скрипт переместит курсор на 100 пунктов вправо и на 100 пунктов вниз за 2 секунды относительно текущей позиции курсора.
click()
Функция click() используется для имитации операций щелчка мышью. Синтаксис функции click() следующий:
pag.click(x, y, clicks, interval, button)
- x: координата x точки, которую нужно достичь.
- y: координата y точки, которую нужно достичь.
- clicks: количество кликов, которые вы хотели бы сделать, когда курсор достигнет этой точки на экране.
- interval: количество времени в секундах между каждым щелчком мыши, например, если вы выполняете несколько щелчков мышью.
- button: укажите, какую кнопку мыши вы хотите нажать, когда курсор переместится в эту точку на экране. Возможные значения: правое, левое и среднее.
pag.click(100, 100, 5, 2, 'right')
Вы также можете выполнять определенные функции щелчка следующим образом:
pag.rightClick(x, y) pag.doubleClick(x, y) pag.tripleClick(x, y) pag.middleClick(x, y)
Здесь x и y представляют координаты x и y, как и в предыдущих функциях.
Вы также можете иметь более детальный контроль над щелчками мыши, указав, когда нажимать и отпускать кнопку мыши. Это делается с помощью функций mouseDown и mouseUp соответственно.
Вот небольшой пример:
pag.mouseDown(x=x, y=y, button='left') pag.mouseUp(x=x, y=y, button='left')
Приведенный выше код эквивалентен простому вызову pag.click (x, y).
scroll()
Последняя функция мыши, которую мы рассмотрим, – это прокрутка. Как и ожидалось, у него есть два варианта: прокрутка вверх и прокрутка вниз. Синтаксис функции scroll() следующий:
pag.scroll(amount_to_scroll, x=x_movement, y=y_movement)
Для прокрутки вверх укажите положительное значение для параметра amount_to_scroll, а для прокрутки вниз укажите отрицательное значение. Вот пример:
pag.scroll(100, 120, 120)
Хорошо, это было для функций мыши. К настоящему времени вы должны иметь возможность управлять кнопками мыши, а также перемещениями по коду. Теперь перейдем к функциям клавиатуры. Их много, но мы рассмотрим только наиболее часто используемые.
Общие операции с клавиатурой
Прежде чем мы перейдем к функциям, важно знать, какие клавиши можно нажимать с помощью кода в pyautogui, а также их точное соглашение об именах. Для этого запустите следующий скрипт:
print(pag.KEYBOARD_KEYS)
['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '', '?', '@', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '', '~', 'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace', 'browserback', 'browserfavorites', 'browserforward', 'browserhome', 'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete', 'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10', 'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20', 'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja', 'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail', 'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack', 'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn', 'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn', 'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator', 'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab', 'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen', 'command', 'option', 'optionleft', 'optionright']
typewrite()
Функция typewrite() используется для ввода чего-либо в текстовое поле. Синтаксис функции следующий:
pag.typewrite(text, interval)
Здесь текст – это то, что вы хотите ввести в поле, а интервал – это время в секундах между каждым нажатием клавиши. Вот пример:
pag.typewrite('Junaid Khalid', 1)
Выполнение приведенного выше скрипта приведет к вводу текста «Джунаид Халид» в поле, которое в настоящее время выбрано с паузой в 1 секунду между каждым нажатием клавиши.
Другой способ использования этой функции – передача списка клавиш, которые вы хотите нажимать последовательно. Чтобы сделать это с помощью кода, смотрите пример ниже:
pag.typewrite(['j', 'u', 'n', 'a', 'i', 'd', 'e', 'backspace', 'enter'])
В приведенном выше примере будет введен текст junaide с удалением завершающего e. Ввод в текстовое поле будет отправлен нажатием клавиши Enter.
hotkey()
Если вы до сих пор этого не заметили, ключи, которые мы показали выше, не упоминаются для комбинированных операций, таких как Control + C для команды копирования. Если вы думаете, что можете сделать это, передав список [‘ctrl’, ‘c’] функции typewrite(), вы ошибаетесь.
Функция typewrite() будет нажимать обе эти кнопки последовательно, а не одновременно. И, как вы, наверное, уже знаете, чтобы выполнить команду копирования, вам нужно нажать клавишу C, удерживая клавишу ctrl.
Чтобы нажать две или более клавиш одновременно, вы можете использовать функцию hotkey(), как показано здесь:
pag.hotkey('shift', 'enter') pag.hotkey('ctrl', '2' ) # For the @ symbol pag.hotkey('ctrl', 'c') # For the copy command
screenshot()
Если вы хотите сделать снимок экрана в любой момент, функция screenshot() – это именно та функция, которую вы ищете. Давайте посмотрим, как мы можем реализовать это с помощью PyAutoGUI:
scree_shot = pag.screenshot() # to store a PIL object containing the image in a variable
Это сохранит объект PIL, содержащий изображение, в переменной.
Однако, если вы хотите сохранить снимок экрана непосредственно на свой компьютер, вы можете вместо этого вызвать функцию снимка экрана следующим образом:
pag.screenshot('ss.png')
Это сохранит снимок экрана в файле с указанным именем на вашем компьютере.
Функции confirm(), alert() и prompt()
- Окно подтверждения: отображает информацию и дает вам два варианта: ОК и Отмена.
- Окно оповещения: отображает некоторую информацию и подтверждает, что вы ее прочитали. Он отображает одну кнопку, т.е. ОК.
- Поле подсказки: запрашивает некоторую информацию от пользователя, и при входе пользователь должен нажать кнопку ОК.
Теперь, когда мы увидели типы, давайте посмотрим, как мы можем отображать эти кнопки на экране в той же последовательности, что и выше:
pag.confirm("Are you ready?") pag.alert("The program has crashed!") pag.prompt("Please enter your name: ")
На выходе вы увидите следующую последовательность окон сообщений.
После изучения этого руководства вы сможете использовать PyAutoGUI в Python для автоматизации операций с графическим интерфейсом пользователя для повторяющихся задач в вашем собственном приложении.
Установка¶
Чтобы установить PyAutoGUI, установите пакет pyautogui из PyPI выполнив pip install pyautogui (в Windows) или pip3 install pyautogui (в macOS и Linux). (On macOS and Linux, pip refers to Python 2’s pip tool.)
Инструкции для конкретной ОС приведены ниже.
ПРИМЕЧАНИЕ. По состоянию на октябрь 2019 года модуль Pillow не поддерживает Python 3.8. PyAutoGUI в настоящее время зависит от этого модуля для его возможностей скриншота.
Windows¶
В Windows, вы можете использовать py.exe для запуска последней версии Python:
py -m pip install pyautogui
Если у вас установлено несколько версий Python, вы можете выбрать конкретную версию, передав её в командной строке py . Например, для Python 3.8, выполните:
py -3.8 -m pip install pyautogui
(Это аналогично команде pip install pyautogui .)
macOS¶
На macOS и Linux, вам нужно выполнить python3 :
python3 -m pip install pyautogui
Если вы используете El Capitan и у вас проблемы с установкой pyobjc, попробуйте:
MACOSX_DEPLOYMENT_TARGET=10.11 pip install pyobjc
Linux¶
В macOS и Linux, вам нужно запустить python3 :
python3 -m pip install pyautogui
В Linux, дополнительно нужно установить приложение scrot , а также Tkinter:
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
PyAutoGUI установить зависимые модули, включая PyTweening, PyScreeze, PyGetWindow, PymsgBox, и MouseInfo.
© Copyright 2019, Al Sweigart Revision 0806aeff .
Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latestVersions latest Downloads pdf html epub On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.