Добро пожаловать на страницу перевода документации по PyAutoGUI!¶
API разработан таким образом, чтобы быть простым. PyAutoGUI работает в Windows, macOS и Linux, и поддерживает Python 2 и 3.
Для установки, выполните pip install pyautogui . Смотрите страницу установки для получения подробной информации.
В PyAutoGUI имеются следующие функции:
- Перемещение и нажатие кнопок мыши в окнах других приложений .
- Отправка нажатий клавиш в приложения( например, для заполнения форм)
- Делать скриншоты и читать изображения (например, кнопку или чекбокс) и находить его на экране.
- Находить окна приложений, перемещать , изменять размер, максимизировать, минимизировать или закрыть их (на данный момент, только в Windows).
- Показывать диалоговые окна для предупреждений и сообщений.
Вот видео на YouTybe, как бот играет в игру Sushi Go Round. Бот наблюдает за окном приложения игры и ищет изображения суши-заказов. Когда он находит один, он нажимает на ингредиенты, чтобы сделать суши. Он также кликает по телефону в игре, чтобы заказать больше ингредиентов по мере необходимости. Бот полностью автономный и может завершить все семь дней игры. Это тот вид автоматизации, на который способен PyAutoGUI.
Примеры¶
>>> import pyautogui >>> screenWidth, screenHeight = pyautogui.size() # Получаем размер экрана. >>> screenWidth, screenHeight (2560, 1440) >>> currentMouseX, currentMouseY = pyautogui.position() # Получаем XY координаты курсора. >>> currentMouseX, currentMouseY (1314, 345) >>> pyautogui.moveTo(100, 150) # Перемещение курсора по координатам XY. >>> pyautogui.click() # Клик мыши. >>> pyautogui.click(100, 200) # Перемещение мыши по XY координатам и клик по ним. >>> pyautogui.click('button.png') # Поиск на экране совпадение с button.png и клик по нему. >>> pyautogui.move(400, 0) # Перемещение мыши вправо от текущей позиции на 400 пикселей >>> pyautogui.doubleClick() # Двойной клик. >>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # Use tweening/easing function to move mouse over 2 seconds. >>> pyautogui.write('Hello world!', interval=0.25) # Печатаем текст с паузой в четверть секунды для каждого нажатия клавиши. >>> pyautogui.press('esc') # Нажимаем клавишу ESC. Имена всех клавиш в pyautogui.KEY_NAMES >>> pyautogui.keyDown('shift') # Нажимаем и удерживаем клавишу SHIFT. >>> pyautogui.press(['left', 'left', 'left', 'left']) # Нажимаем клавишу ВЛЕВО 4 раза. >>> pyautogui.keyUp('shift') # Отпускаем клавишу SHIFT. >>> pyautogui.hotkey('ctrl', 'c') # Нажимаем комбинацию Ctrl-C. >>> pyautogui.alert('This is the message to display.') # Создаем диалоговое окно с предупреждением, и приостанавливаем программу, пока не нажата кнопка 'OK'
Этот пример перемещает мышь в виде квадратной спирали в MS Paint(или любой другой программе для рисования)
>>> distance = 200 >>> while distance > 0: pyautogui.drag(distance, 0, duration=0.5) # двигаем вправо distance -= 5 pyautogui.drag(0, distance, duration=0.5) # двигаем вниз pyautogui.drag(-distance, 0, duration=0.5) # двигаем влево distance -= 5 pyautogui.drag(0, -distance, duration=0.5) # двигаем вверх
Преимущество использования PyAutoGUI, в отличие от скрипта, который непосредственно генерирует файл изображения, заключается в том, что вы можете использовать инструменты кисти, которые предоставляет MS Paint.
FAQ: Часто задаваемые вопросы:¶
Q: Может ли PyAutoGUI работать на Android, iOS или планшете/телефоне
A: К сожалению нет. PyAutoGUI работает только на Windows, macOS и Linux.
Q: Работает ли PyAutoGUI с несколькими мониторами.
A: Нет, сейчас PyAutoGUI работает только с основным монитором.
Q: PyAutoGUI распознает символы на изображении(OCR)?
A: Нет, но это возможно появится в будущем.
Q: Может ли PyAutoGUI логировать клавиши, или определять, нажата ли клавиша в данный момент?
A: Нет, PyAutoGUI не может делать это сейчас.
Fail-Safes¶
Like the enchanted brooms from the Sorcerer’s Apprentice programmed to keep filling (and then overfilling) the bath with water, a bug in your program could make it go out of control. It’s hard to use the mouse to close a program if the mouse cursor is moving around on its own.
As a safety feature, a fail-safe feature is enabled by default. When a PyAutoGUI function is called, if the mouse is in any of the four corners of the primary monitor, they will raise a pyautogui.FailSafeException . There is a one-tenth second delay after calling every PyAutoGUI functions to give the user time to slam the mouse into a corner to trigger the fail safe.
You can disable this failsafe by setting pyautogui.FAILSAFE = False . I HIGHLY RECOMMEND YOU DO NOT DISABLE THE FAILSAFE.
- Установка
- Windows
- macOS
- Linux
- General Functions
- Fail-Safes
- Mouse Functions
- Keyboard Functions
- Message Box Functions
- Screenshot Functions
- The Screen and Mouse Position
- Mouse Movement
- Mouse Drags
- Tween / Easing Functions
- Mouse Clicks
- The mouseDown() and mouseUp() Functions
- Mouse Scrolling
- The write() Function
- The press(), keyDown(), and keyUp() Functions
- The hotkey() Function
- KEYBOARD_KEYS
- The alert() Function
- The confirm() Function
- The prompt() Function
- The password() Function
- Special Notes About Ubuntu
- The screenshot() Function
- The Locate Functions
- Platforms Tested
- pyautogui package
This documentation is still a work in progress.
Получение разрешения экрана в Python: 4 эффективных метода
Разрешение экрана — это количество пикселей, которое может отображаться в каждом измерении на экране вашего компьютера или мониторе. Важно знать разрешение экрана вашего компьютера, потому что это помогает нам анализировать качество видео и изображений. Если разрешение экрана высокое, то он может обрабатывать больше информации о пикселях и может обеспечивать высококачественную графику.
Знание разрешения экрана поможет вам понять, какие изображения с какой четкостью может отображать ваш компьютер. В программировании знание разрешения экрана необходимо для понимания того, сколько вывода может поместиться на вашем экране.
Людям, разрабатывающим игры, нужны четкие данные о разрешении экрана, чтобы проанализировать количество графики, которое они могут уместить на экране, и соответствующим образом написать код.
Есть много способов узнать разрешение экрана с помощью Python. Вы можете сделать это с помощью специальных модулей или без них. Мы рассмотрим некоторые из этих методов в этом руководстве в следующих разделах.
Способ 1: модуль Pyautogui
Пьяаутоги module — это модуль Python, который можно использовать во всех операционных системах, таких как Windows, macOS или Linux, для распознавания движений мыши или курсора или щелчков клавиатуры. Он используется для ряда целей, в основном для разработки систем пользовательского интерфейса.
Когда вы устанавливаете Python, модуль Pyautogui должен быть предварительно установлен с некоторыми другими пакетами. Но если по какой-то причине в вашей системе нет этой библиотеки, запустите следующий код в командной строке в режиме администратора.
Ваша установка должна выглядеть примерно так:
Теперь вам просто нужно импортировать этот модуль в вашу оболочку Python, и вы можете легко получить разрешение монитора в виде (ширины, высоты) в виде кортежа.
>>import pyautogui >>pyautogui.size() Size(width=1366, height=768)
Связанный: Автоматизация с PyAutoGUI в Python.
Способ 2: модуль win32api
win32api в Python используется для создания и развертывания 32-битных приложений с использованием Python. Его также можно использовать для получения разрешения экрана. В основном они используются для настройки административных системных файлов на вашем компьютере.
Этот модуль можно установить, запустив следующий код в командной строке или оболочке в режиме администратора, используя pip, если вы используете Windows. Этот модуль работает для всех операционных систем.
Теперь откройте оболочку Python, импортируйте модуль и запустите следующий код:
>>import win32api >>from win32api import GetSystemMetrics >>print('The Width is=", GetSystemMetrics(0)) The Width is= 1366 #output for width >>print("The Height is yandex_rtb_R-A-2079046-8">