PyAutoGui 库用法

笔记 · 2023-05-08 · 585 人浏览
PyAutoGui 库用法

什么是图形用户界面?

图形用户界面:GUI(Graphics User Interface),指采用图形方式显示的计算机操作,是计算机与其使用者之间的接口对话,是计算机系统的重要组成部分。


一、 控制鼠标

电脑屏幕的坐标系

引入笛卡尔直角坐标系,以屏幕左上点为原点,X 轴正方形水平左右,Y 轴正方形铅锤向下,此坐标系的单位距离是像素点

左上角的像素位于 (0, 0), 如果此时屏幕的分辨率为 1920 * 1080,则右下角的坐标为 (1919, 1079)。

像素图是由许多像素点组成的,一个像素点是指具有某个颜色的小正方形。一般情况,像素点越多,图片越细腻。

获取屏幕分辨率的大小

  • pyautogui.size()

获取当前鼠标的位置

  • pyautogui.position()

检查 XY 坐标是否在屏幕上

  • pyautogui.onScreen()
    1. 如果他们位于屏幕的边界内,返回 True ;否则,返回 False
    2. 传入参数:两个整数参数或带有两个整数的单个元组或列表

鼠标运动

  • pyautogui.moveTo(X, Y) :传递坐标后,鼠标光标移动到该位置
    pyautogui.moveTo(100, 200)
    pyautogui.moveTo(None, 500)
    pyautogui.moveTo(600, None)

如果希望鼠标逐渐移动到新位置,需要在函数中传入第三个参数:移动采取的持续时间(秒)。不指定该参数,默认为 0.1s。

  • pyautogui.moveTo(100, 200, 2)

拖动鼠标

  • pyautogui.dragTo(X, Y, button='left')
  • pyautogui.dragTo(X, Y, button='right')

传递坐标后,按住 左/右键将鼠标光标移动到该位置。同样可以在函数中传入第三个参数:移动采取的持续时间(秒)

pyautogui.dragTo(300, 400, 2, button='left')

鼠标拖动

  • pyautogui.drag(X, Y, button='left')
  • pyautogui.drag(X, Y, button='right')

传递坐标后,从当前位置按住 左/右键将鼠标光标移动到该位置。同样可以在函数中传入第三个参数:移动采取的持续时间(秒)

pyautogui.drag(0, 50, 2, button='left')

鼠标点击

  • pyautogui.click() 模拟鼠标在当前位置单击左键

示例:

pyautogui.click(x=100, y=100)
pyautogui.click(button='right') # 右键
pyautogui.click(clicks=2) # 双击
pyautogui.click(clicks=2, interval=0.25) # 双击,间隔0.25s
pyautogui.click(button='right', clicks=2, interval=0.25)`  
pyautogui.doubleClick() # 双击
pyautogui.tripleClick() # 三次点击

鼠标按压和释放

由鼠标点击、拖动及按下按钮并释放组成

示例:

pyautogui.mouseDown(button='right')
pyautogui.mouseUp(button='right', x=100, y=200)

鼠标滚动

pyautogui.scroll(10)
pyautogui.scroll(-10)
pyautogui.scroll(10, x=100, y=100) 

二、 控制键盘

write() 函数

pyautogui.write('Hello, World')
pyautogui.write('Hello, World', interval=0.25)
  • 输入字符串的每个字符。输入每个字符之间需要时间间隔,参数 interval

按下后释放一个键 press

  • pyautogui.press('enter') 按下 Enter 键后释放
  • pyautogui.press('f1') 按下 F1 键后释放
  • pyautogui.press('left') 按下 ←- 键后释放
  • 按住 shift 的同时按三次左箭头
    pyautogui.KeyDown('shift') # 按下 `shift` 键
    pyautogui.press(['left', 'left', 'left']) # 可传入一个列表
    pyautogui.press('left', presses=3) # 可传入参数
    pyautogui.press('left') # 按下 `←-` 键后释放  
    pyautogui.UpDown('shift') # 释放 `shift` 键

    其他参数

热键 hotKey

为了方便按热键,按顺序向按下字符串代表的键,然后按反向顺序释放

import pyautogui
pyautogui.hotkey('ctrl', 'shift', 'esc')
# 等价
pyautogui.keyDown('ctrl')
pyautogui.keyDown('shift')
pyautogui.keyDown('esc')
pyautogui.keyUp('esc')
pyautogui.keyUp('shift')
pyautogui.keyUp('ctrl')
Python
  1. jiujiu 2023-05-09

    太棒了!ailail

  2. LosKartos 2023-05-09

    有帮助 很棒

Theme Jasmine by Kent Liao

本网站由 又拍云 提供CDN加速/云存储服务

鄂ICP备2023005457号    鄂公网安备 42011302000815号

欢迎来自 * · * 的用户