安装
- 普通安装:
pip install pyautogui
- 国内镜像安装:
pip install -i https://mirrors.aliyun.com/pypi/simple/ pyautogui
(推荐,安装更快)
导入
获取参数
- width,height = p.size():获取当前屏幕分辨率
- x,y = p.position():获取当前鼠标所在的位置
鼠标移动、拖动与滚动
- p.moveTo(x, y):移动鼠标到指定坐标,可指定移动的时间duration
-
- 举例:p.moveTo(width/2, height/2,duration=1):1秒内移动到屏幕中央
- p.moveRel(xOffset, xOffset, duration):鼠标相对移动
- xOffset:相对x
- yOffset:相对y
- duration:移动时间,单位:秒
- p.dragTo(x, y, duration=0.5):将鼠标拖动到指定位置
- p.scroll(click):滚轮滚动,click代表滚动的距离,正数向上,负数向下
鼠标单击、双击与右击
- p.click():单击当前鼠标所在的位置
- x=None :x坐标
- y=None :y坐标
- clicks=1:单击次数
- interval=0.0 :单击间隔时间
- button :单击方式,‘left’, ‘middle’, ‘right’
- p.doubleClick():双击,参数见单击
- p.leftClick()、p.rightClick()、p.middleClick():左击、右击、中击,参数见单击
键盘
- p.typewrite(‘Hello World!’,interval=0.1):每隔0.1秒输入一个字符
- 举例:p.typewrite(‘nihao1!’,interval=0.1):配合输入法输入中文
- p.press(‘enter’):按键(按下+松开),esc、enter、a、1、F1等
- p.keyDown(key):按下某键
- p.keyUp(key):松开某键
- p.hotkey(‘win’, ‘e’):按下组合键
import pyautogui as p
import pyperclip
pyperclip.copy("你是谁?")
print(pyperclip.paste())
p.hotkey("ctrl","v")
消息框
- p.alert(text, title):消息提示框
- p.confirm(text, title,buttons):按钮选择框,返回选择结果
- buttons:选择框的选择,格式为列表,如[“是”,“否”,“不清楚”]
- p.prompt(text,title):文本输入框,返回输入内容
- p.password(text,title,mask):密码输入框,返回输入内容
屏幕截图
- p.screenshot( ):截取屏幕上的图像,并返回PIL图像对象
import pyautogui as p
screenshot = p.screenshot()
screenshot.show()
查找图片
coords = p.locateOnScreen('folder.png')
coords = p.locateOnScreen('folder.png',confidence=0.9)
x,y=p.center(coords)
p.click(x,y)
举例:考生评语录入
import random
import pyautogui as p
import pyperclip
with open('高三评语.txt','r',encoding='utf-8')as f:
content=f.read()
comment_list = content.split("\n")
print(f"评语总条数:{len(comment_list)}")
p.sleep(1)
print("start.")
for i in range(788):
p.click(649,576)
comment = random.choice(comment_list)
pyperclip.copy(comment)
p.hotkey("ctrl","a")
p.hotkey("ctrl","v")
p.click(1047,652)
p.sleep(0.2)
print(f"已成功写入{i+1}行:")
print("end....." )