Библиотека PyAutoGUI

Вступление

В этом руководстве мы узнаем, как использовать библиотеку pyautogui в Python 3. Библиотека PyAutoGUI обеспечивает кроссплатформенную поддержку для управления операциями с мышью и клавиатурой с помощью кода, позволяющего автоматизировать задачи. Библиотека pyautogui также доступна для Python 2; однако мы будем использовать Python 3 на протяжении всего этого руководства.

Такой инструмент имеет множество приложений, некоторые из которых включают создание снимков экрана, автоматизацию тестирования графического интерфейса пользователя (например, Selenium ), автоматизацию задач, которые могут быть выполнены только с помощью графического интерфейса, и т. Д.

Прежде чем продолжить это руководство, обратите внимание, что есть несколько предварительных условий. Вы должны иметь базовое представление о синтаксисе Python и / или программировать на каком-либо другом языке, по крайней мере, для начинающих. В остальном учебник довольно прост и понятен новичкам.

Монтаж

Процесс установки PyAutoGUI довольно прост для всех операционных систем. Однако существует несколько зависимостей для Mac и Linux, которые необходимо установить перед установкой и использованием библиотеки PyAutoGUI

Окна

Для Windows PyAutoGUI не имеет зависимостей. Просто запустите следующую команду в командной строке, и установка будет завершена.

 pip install PyAutoGUI 

Прежде чем мы сможем использовать PyAutoGUI , нам нужно импортировать их в нашу программу:

 import pyautogui as pag 

Эта position() сообщает нам текущее положение мыши на экране:

 pag.position() 

Выход:

 Point (x = 643, y = 329) 

Примеер: для просмотра положения мышки на экране

import pyautogui as pag

print(pag.position()) 

Функция 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 <module> 
 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 : укажите, какую кнопку мыши вы хотите нажать, когда курсор переместится в эту точку на экране. Возможные значения: right , left и middle .

Вот пример:

 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 . Как и ожидалось, у него есть два варианта: прокрутка вверх и прокрутка вниз. Синтаксис функции 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) 

Здесь 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() # чтобы сохранить объект PIL, содержащий изображение, в переменной

Это сохранит объект PIL, содержащий изображение, в переменной.

Однако, если вы хотите сохранить снимок экрана непосредственно на свой компьютер, вы можете screenshot следующим образом:

 pag.screenshot('ss.png') 

Это сохранит снимок экрана в файле с указанным именем файла на вашем компьютере.

Функции confirm (), alert () и prompt ()

Последний набор функций, который мы рассмотрим в этом руководстве, – это функции окна сообщения. Вот список функций окна сообщений, доступных в PyAutoGUI :

  1. Окно подтверждения: отображает информацию и дает вам два варианта: OK и Cancel
  2. Окно оповещения: отображает некоторую информацию и подтверждает, что вы ее прочитали. Он отображает одну кнопку, т.е. OK
  3. Поле подсказки: запрашивает некоторую информацию от пользователя, и при входе пользователь должен нажать кнопку OK

Теперь, когда мы увидели типы, давайте посмотрим, как мы можем отображать эти кнопки на экране в той же последовательности, что и выше:

import pyautogui as pag 
pag.confirm("Are you ready?") 
pag.alert("The program has crashed!") 
pag.prompt("Please enter your name: ") 

На выходе вы увидите следующую последовательность окон сообщений.

Подтверждать:

Тревога:

Подсказка:

Пауза

Пауза – это опция в PyAutoGUI, которая устанавливает паузу между каждым вызовом модуля. Например: у нас есть две функции: одна записывает а другие кликают, вторая функция выполняется после заданной продолжительности, когда установлена эта опция.

pyautogui.PAUSE = dur # 2.5

Отказоустойчивость

Этот параметр больше подходит для отмены программы с помощью сочетания клавиш CTRL + C. Если для этого параметра установлено значение True, программа прерывается и выдает pyautogui.FailSafeException исключение, перемещая мышь в верхний левый угол экрана.

pyautogui.FAILSAFE = True

Движение мыши

Вы можете переместить мышь в координаты x, y экрана, используя следующую функцию класса pyautogui

pyautogui.moveTo (x, y, duration = num_seconds)

где x и y – координаты XY на экране. X направляет направо, Y направляет вниз. Длительность – это время в секундах, в течении которого будет выполнятся это действие (через переменнуюnum_seconds) .

Пример:

import pyautogui as pag

pag.moveTo (10, 10, 5)

Есть еще одна функция, которая перемещает мышь относительно текущей позиции мыши, что означает, что она будет перемещать мышь (100 100) влево и вправо от текущей позиции мыши.

pyautogui.moveRel(xOffset, yOffset, duration=num_seconds)
# Вы также можете использовать pyautogui.move (xOffset, YOffset)

Здесь xOffset и yOffset – изменяют положение от текущей позиции мыши x и y соответственно.

Пример:

import pyautogui as pag

pag.moveRel(100, 50, 5)

Перетаскивание

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

pyautogui.dragTo(x, y, duration=num_seconds)
pyautogui.dragRel(xOffset, yOffset, duration=num_seconds)
# вы также можете использовать pyautogui.drag (xOffset, yOffset)

Объяснение этих функций аналогично движению мыши.

Пример:

import pyautogui as pag

pag.dragTo(100, 100, 5) # откуда берем
pag.dragRel(200, 200, 5)# куда перетаскиваем

Клики

Как вы знаете, есть разные типы кликов, которые мы можем выполнять с помощью мыши вручную. PyAutoGUI может позволить нам использовать многие из этих функций. Некоторые из них:

  • Одиночный, двойной и тройной клик
  • Кнопка мыши верх и вниз
  • Левый, правый и средний щелчок

Синтаксис:

pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0)

Вы можете использовать click()функцию следующим образом:

pyautogui.click() # нажатие мышью в текущей позиции
pyautogui.click(20,10) # перейти к позиции 20, 10, затем нажать левой кнопкой мыши
pyautogui.click(button='right') # нажатие правой кнопкой мыши
pyautogui.click(button='middle') # нажатие средней кнопкой мыши
pyautogui.click(button='left') # нажатие левой кнопкой мыши
pyautogui.click(clicks=2) # двойное нажатие левой кнопкой мыши
pyautogui.click(clicks=2, interval=0.25) # двойное нажатие левой кнопкой мыши, но с паузой в четверть секунды между щелчками
pyautogui.click(button='right', clicks=3, interval=0.25)
# тройное нажатие правой кнопкой мыши с паузой в четверть секунды между щелчками

Пример:

import pyautogui 

pyautogui.click() # нажатие мышью в текущей позиции
pyautogui.click(40,50,3) # перейти к позиции 20, 10, затем нажать левой кнопкой мыши
pyautogui.click(button='right') # нажатие правой кнопкой мыши
pyautogui.click(button='middle') # нажатие средней кнопкой мыши
pyautogui.click(button='left') # нажатие левой кнопкой мыши
pyautogui.click(clicks=2) # двойное нажатие левой кнопкой мыши
pyautogui.click(clicks=2, interval=0.25) # двойное нажатие левой кнопкой мыши, но с паузой в четверть секунды между щелчками
pyautogui.click(button='right', clicks=3, interval=0.25)
# тройное нажатие правой кнопкой мыши с паузой в четверть секунды между щелчками

Есть также отдельные функции, чтобы получить ту же работу.

pyautogui.doubleClick() # выполнить двойное нажатие левой кнопкой
pyautogui.rightClick() # выполнить нажатие правой кнопкой
pyautogui.middleClick() # выполнить нажатие средней кнопкой
pyautogui.trippleClick() # выполнить тройное нажатие левой кнопкой

Нажатие мыши и перетаскивание состоят из нажатия кнопки мыши, движение вниз, и отпускания ее обратно. Если вы хотите , чтобы выполнить эти действия отдельно, вызовите mouseDown()и mouseUp()функции. Они тоже имеют xy и button.

pyautogui.mouseDown(); pyautogui.mouseUp()  # делает то же самое, что и щелчок левой кнопкой мыши
pyautogui.mouseDown(button='right')  # нажатие правой кнопки и движение вниз
pyautogui.mouseUp(button='right', x=100, y=200)  # переместите мышь на 100, 200, затем отпустить правую кнопку.

Прокрутка

Колесо прокрутки у мыши можно имитировать, вызывая scroll() функцию и передавая целое число «нажатий» для прокрутки. Количество прокрутки в «нажатии» зависит от платформы.

Синтаксис

pyautogui.scroll(clicks, x=None, y=None)

Вы можете использовать scroll() функцию следующим образом:

pyautogui.scroll (10)    # прокрутить вверх на 10 "кликов" 
pyautogui.scroll (-10)   # прокрутить вниз на 10 "кликов" 
pyautogui.scroll (10, x = 100, y = 100)   # переместить курсор мыши на 100, 200, затем прокрутить до 10 "кликов"

Вы можете использовать hscroll() для прокрутки влево и вправо на платформах Linux и OSX.

Клавиатура

Написание

Вы можете написать алфавит, слово или предложение с помощью функции из класса pyautogui. Он также предлагает задержку между каждым набирающим словом, что делает его более фантастическим.

pyautogui.typewrite ('Hello world!')  # печатает "Hello world!" немедленно

Если вы хотите анимировать это предложение и хотите, чтобы компьютер писал его через небольшой промежуток времени, вы можете использовать атрибут интервала. При копирования текста перенапиши одинарные ковычки.

pyautogui.typewrite ('Hello world!', interval = 0.25) 
# печатает "Hello world!" с задержкой в ​​четверть секунды после каждого символа

Нажатие клавиш

Чтобы нажать эти клавиши, вызовите press() функцию и передайте ей определенные значения в строке.

Чтобы нажать более одной клавиши, передать список, он принимает другой необязательный атрибут, presses=1 который ограничивает количество нажатий клавиш (клавиши).

Существует также еще один атрибут interval=0.0– интервал между нажатиями клавиш.

Ключи для этой функции определены и могут быть получены с помощью следующей опции pyautogui.KEYBOARD_KEYS. Он напечатает список определенных ключей, которые он поддерживает. Например: enterupdownescf1. Смотрите KEYBOARD_KEYS .

pyautogui.press ('enter')   # нажать клавишу ввода
pyautogui.press ('f1')      # нажать клавишу F1
pyautogui.press ('left')    # нажать клавишу со стрелкой влево

press()это просто обертка для keyUp() и keyDown() функций, которые имитируют нажатие клавиши, а затем отпускание.

pyautogui.keyDown ('shift')   # удерживать клавишу Shift
pyautogui.keyUp ('shift')     # отпустить клавишу Shift

Сочетания клавиш

Для удобства нажатия горячих клавиш или сочетаний клавиш hotkey() можно передать несколько последовательностей клавиш, которые будут нажаты по порядку, а затем отпущены в обратном порядке.

pyautogui.hotkey ('ctrl', 'shift', 'esc') # одновременно нажать клавиши CTRL + SHIFT + ESC

Вышеуказанный код эквивалентен

pyautogui.keyDown ('ctrl')      # Удерживать кнопку CTRL 
pyautogui.keyDown ('shift')     # Удерживать кнопку SHIFT 
pyautogui.keyDown ('esc')       # Удерживать кнопку ESC 
pyautogui.keyUp ('esc')         # Отпустить кнопку ESC 
pyautogui.keyUp ('shift')       # Отпустить кнопку SHIFT 
pyautogui.keyUp ('ctrl')        # Отпустить кнопку CTRL

Сообщения

PyAutoGUI также отображает окна сообщений в стиле JavaScript. Предусмотрено четыре функции окна сообщений

Окно оповещения

Окно оповещения
Окно оповещения

Отображает простое окно сообщения с текстом и одной кнопкой ОК. Возвращает текст кнопки, на которую нажали.

pyautogui.alert (text = '', title = '', button = 'OK')

Окно подтверждения

Окно подтверждения
Окно подтверждения

Отображает окно сообщения с кнопками OK и Отмена. Количество и текст кнопок могут быть настроены. Возвращает текст кнопки, на которую нажали.

pyautogui.confirm (text = '', title = '', buttons = ['OK', 'Cancel'])

Окно подсказки

Быстрое окно
Быстрое окно

Отображает окно сообщения с вводом текста и кнопки ОК и Отмена. Возвращает введенный текст или None, если нажать кнопку «Отмена».

pyautogui.prompt (text = '', title = '', default = '')

Окно пароля

Окно пароля
Окно пароля

Отображает окно сообщения с вводом текста и кнопки ОК и Отмена. Типизированные символы отображаются как *. Возвращает введенный текст или None, если нажать кнопку «Отмена».

password(text='', title='', default='', mask='*')

Скриншот (поиск изображений)

PyAutoGUI может делать снимки экрана, сохранять их в файлы и находить изображения на экране. Это полезно, если у вас есть маленькое изображение, скажем, кнопки, которую нужно нажать, и вы хотите найти ее на экране

Снимок экрана

Вызов screenshot() вернет объект Image. Передача строки имени файла сохранит снимок экрана в файл, а также вернет его как объект изображения.

im1 = pyautogui.screenshot () 
im2 = pyautogui.screenshot ('my_screenshot.png')

Существует также необязательный region аргумент ключевого слова, если вы не хотите снимок экрана всего экрана. Вы можете передать четырехзначный кортеж left, top, width и height области для захвата:

im = pyautogui.screenshot (region = (0,0, 300, 400))

Нахождение изображения на экране

Вы можете визуально найти что-то на экране, если у вас есть файл изображения этого. Например, допустим, что приложение калькулятора запущено на вашем компьютере и выглядит так:

Калькулятор
Калькулятор

и у вас есть изображение кнопки, например, изображение кнопки 7

7 кнопка
7 кнопка

Вы можете вызвать locateOnScreen('7key.png') функцию, чтобы получить координаты экрана.

Возвращаемое значение представляет собой 4-х целочисленный кортеж: (слева, сверху, ширина, высота). Однако, если вы просто хотите получить координаты x и y изображения на экране, вы можете вызвать, locateCenterOnScreen() который вернет только координаты x и y .

Если изображение на экране не найдено, оно выведет ImageNotFoundException. Если вы хотите нажать на это изображение или объект, просто передайте координаты x и y из возвращаемых значений предыдущих функций в click()функцию.

Чтобы узнать больше о размещении объектов на экране, перейдите по этой ссылке .

Другие особенности

Размер экрана

Чтобы получить размер экрана, в PyAutoGUI есть функция, size() которая возвращает кортеж целых чисел: (ширина, высота) для размера основного монитора.

pyautogui.size()    # вывод: Size(width=1366, height=768)

Положение курсора

Чтобы получить текущую позицию курсора, в PyAutoGUI есть функция, position() которая возвращает кортеж целых чисел: (x, y) для текущей позиции курсора мыши.

pyautogui.position()    # вывод: Point(x=487, y=664)

Заключение

В этом руководстве мы узнали (довольно коротко), как использовать PyAutoGUI в Python.

Мы начали с обсуждения предварительных условий для этого руководства, процесса его установки для различных операционных систем, а затем узнали о некоторых его общих функциях.

После этого мы изучили функции, специфичные для движений мыши, управления мышью и управления с клавиатуры.

PyAutoGUI этого руководства вы сможете использовать PyAutoGUI для автоматизации операций с графическим интерфейсом пользователя для повторяющихся задач в вашем собственном приложении.