什么是图形用户界面?
图形用户界面:GUI(Graphics User Interface),指采用图形方式显示的计算机操作,是计算机与其使用者之间的接口对话,是计算机系统的重要组成部分。
一、 控制鼠标
电脑屏幕的坐标系
引入笛卡尔直角坐标系,以屏幕左上点为原点,X 轴正方形水平左右,Y 轴正方形铅锤向下,此坐标系的单位距离是像素点。
左上角的像素位于 (0, 0), 如果此时屏幕的分辨率为 1920 * 1080,则右下角的坐标为 (1919, 1079)。
像素图是由许多像素点组成的,一个像素点是指具有某个颜色的小正方形。一般情况,像素点越多,图片越细腻。
获取屏幕分辨率的大小
pyautogui.size()
获取当前鼠标的位置
pyautogui.position()
检查 XY 坐标是否在屏幕上
pyautogui.onScreen()
- 如果他们位于屏幕的边界内,返回
True
;否则,返回False
- 传入参数:两个整数参数或带有两个整数的单个元组或列表
- 如果他们位于屏幕的边界内,返回
鼠标运动
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')
太棒了!ailail
有帮助 很棒