0%

使用Python自动化控制鼠标和键盘

文档:https://pyautogui.readthedocs.io/en/latest/

安装pyautogui模块

pip install pyautogui

鼠标操作模拟

import pyautogui

width, height = pyautogui.size() #返回屏幕宽高像素数的元组
pyautogui.position() #返回鼠标当前位置元组

pyautogui.moveTo(100, 200, duration=1.5) #绝对位置移动,参数为x,y,time可选秒数
pyautogui.moveRel(100, -1, duration=1) #相对位置移动。参数为右,左,时间可选秒数

pyautogui.click(100, 200, button='middle') #完整的单击.默认鼠标左键单击当前位置
pyautogui.mouseDown(button=left) #按下鼠标按键
pyautogui.mouseUp(100, 200) #松开鼠标按键
pyautogui.doubleClick() #双击鼠标左键
pyautogui.middleClick() #单击鼠标中键

pyautogui.dragTo(100, 200, duration=1.5) #绝对位置拖动,参数为x,y,time可选秒数
pyautogui.dragRel(100, -1, button='middle') #相对位置拖动。参数为右,左,button可选默认左键

pyautogui.scroll(-200) #鼠标滚轮上下滚动

处理屏幕

import pyautogui

im = pyautogui.screenshot() #返回包含屏幕快照的Image对象
im.getpixel((x,y)) #返回坐标处像素颜色的RGB元组
pyautogui.pixelMatchesColor(x, y, (R, G, B))#比较(x,y)处与RGB的颜色是否相同

pyautogui.locateOnScreen('screenshot.png') #参数或为region=(0,0, 300, 400)
#返回screenshot.png匹配当前屏幕成功的图像左边的x坐标,顶边的y坐标,宽度和高度元组
pyautogui.center((0,0, 300, 400)) #返回中心坐标
pyautogui.click((150, 200))

键盘操作模拟

import pyautogui

pyautogui.typewrite('test',0.25) #发送单个字符表示的虚拟按键,间隔0.25秒
pyautogui.typewrite(['a', 'b']) #键名作为参数

pyautogui.keyDown('ctrl')
pyautogui.press('c')
pyautogui.keyUp('ctrl')
#等价于
pyautogui.hotkey('ctrl', 'c')

键名:https://pyautogui.readthedocs.io/en/latest/keyboard.html#keyboard-keys