Python размер экрана pyautogui

Добро пожаловать на страницу перевода документации по 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) # двигаем вверх 

_images/square_spiral.png

Преимущество использования PyAutoGUI, в отличие от скрипта, который непосредственно генерирует файл изображения, заключается в том, что вы можете использовать инструменты кисти, которые предоставляет MS Paint.

Читайте также:  Запуск java программ из командной строки

FAQ: Часто задаваемые вопросы:¶

Q: Может ли PyAutoGUI работать на Android, iOS или планшете/телефоне

A: К сожалению нет. PyAutoGUI работает только на Windows, macOS и Linux.

Q: Работает ли PyAutoGUI с несколькими мониторами.

A: Нет, сейчас PyAutoGUI работает только с основным монитором.

Q: PyAutoGUI распознает символы на изображении(OCR)?

A: Нет, но это возможно появится в будущем.

Q: Может ли PyAutoGUI логировать клавиши, или определять, нажата ли клавиша в данный момент?

A: Нет, PyAutoGUI не может делать это сейчас.

Fail-Safes¶

_images/sorcerers_apprentice_brooms.png

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 должен быть предварительно установлен с некоторыми другими пакетами. Но если по какой-то причине в вашей системе нет этой библиотеки, запустите следующий код в командной строке в режиме администратора.

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

    Взгляд на процесс установки 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">
Использование Win32APi и GetSystemMetrics
Использование Win32APi и GetSystemMetrics

Способ 3: модуль wxPython

wx модуль в Python используется как альтернатива tkinter в качестве модуля расширения. Это оболочка для приложения wxwidgets с графическим интерфейсом для Python. Вы можете установить его, выполнив следующую команду в своей системе Windows, хотя ее можно использовать и для всех других операционных систем.

Теперь вы можете использовать этот модуль для получения разрешения экрана в Python.

import wx outp= wx.App(False) width, height= wx.GetDisplaySize() print("The width is= " + str(width) + " and the height is wp-block-syntaxhighlighter-code "> 
The width is= 1366 and the height is= 768

Использование Wx Wrapper для определения разрешения экрана

Метод 4: Ткинтер

ткинтер module — один из самых популярных инструментов с графическим интерфейсом, который используется для создания виджетов с помощью команд C в python. Он очень популярен среди разработчиков для создания дизайна пользовательского интерфейса. Вы также можете использовать этот модуль для проверки разрешения экрана, создав объект и следуя остальной части кода:

import tkinter app = tkinter.Tk() width = app.winfo_screenwidth() height = app.winfo_screenheight() print("width=",width) print("height wp-block-heading">Заключение.

В этой статье мы рассмотрели 4 самых простых метода определения разрешения экрана. Информация о разрешении экрана важна по целому ряду причин, например, для разработки игр, создания пользовательских интерфейсов и т. д. Из-за широкой доступности модулей Python определить информацию о вашем мониторе проще, чем вы думаете. Как вы думаете, какой из этих методов вы собираетесь использовать в своем следующем проекте?

Источник

Оцените статью