Pyautogui是Python的一个库,可以模拟鼠标键盘的操作,实现自动化的功能!
安装:
pip install pyautogui
正常情况都可以安装成功,如果网络状况不佳,可以设置超时和镜像。
导入模块
import pyautogui
鼠标操作函数
函数 | 功能 |
---|---|
click() | 在当前位置点击鼠标 |
position() | 获取鼠标当前位置 |
size() | 获取屏幕分辨率 |
move() | 从当前位置移动鼠标指定距离 |
moveTo() | 移动鼠标到指定位置 |
dragTo() | 鼠标拖曳到指定位置 |
dragRel() | 鼠标从当前位置拖曳指定距离 |
mouseDown() | 按下鼠标 |
mouseUp() | 松开鼠标,与mouseDown()组合使用 |
def click(
x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0, tween=linear, logScreenshot=None, _pause=True
)
# clicks:点击次数
# interval:点击之间的间隔
# button 'left', 'middle', 'right' 对应鼠标 左 中 右或者取值(1, 2, or 3)
# tween 渐变函数
pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)
#可以直接简写为:
pyautogui.click()
x,y = pyautogui.position()
print ("当前鼠标的X轴的位置为:{},Y轴的位置为:{}".format(x,y))
x,y = pyautogui.size()
print ("当前屏幕的分辨率是{}*{}".format(x,y))
print(pyautogui.position())
pyautogui.move(50,100)
print(pyautogui.position())
pyautogui.moveTo(50, 100)
print(pyautogui.position())
#
# Point(x=824, y=471)
# Point(x=874, y=571)
# Point(x=50, y=100)
# 用缓动/渐变函数让鼠标2秒后移动到(500,500)位置
pyautogui.moveTo(x=500, y=500, duration=2, tween=pyautogui.easeInOutQuad)
#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')
#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=2,button='left',mouseDownUp=False)
#鼠标移动到x=1000, y=500位置按下
pyautogui.mouseDown(x=1000, y=500, button='left')
#鼠标移动到x=1500, y=600位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=1500, y=600, button='left',duration=5)
还有一些不太常用的函数:
#双击 pyautogui.doubleClick()
#三击 pyautogui.tripleClick()
#右击 pyautogui.rightClick()
#中击 pyautogui.middleClick()
#滚轮 x为正则向上 pyautogui.scroll(x)
键盘操作函数
函数 | 作用 |
---|---|
typewrite() | 输入指定内容 |
press() | 点击按键 |
keyDown() | 按住按键 |
keyUp() | 松开按键 |
hotkey() | 组合按键 |
#模拟输入信息
pyautogui.typewrite(message='Hello world!',interval=0.5)
#点击ESC
pyautogui.press('esc')
# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')
# 模拟组合热键
pyautogui.hotkey('win', 'up')
提示信息:
alert:
pyautogui.alert(text='This is an alert ', title='Test')
option:
t=pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
print(t)
password:
a = pyautogui.password('Enter password (text will be hidden)')
print(a)
prompt:
a = pyautogui.prompt('input message')
print(a)
截屏并保存:
im1 = pyautogui.screenshot()
im1.save('my_screenshot.png')
大图找小图:
#在当前屏幕中查找指定图片(图片需要由系统截图功能截取的图)
coords = pyautogui.locateOnScreen('folder.png')
#获取定位到的图中间点坐标
x,y,width,height=pyautogui.center(coords)
print(x,y,width,height)