1.使用资料
PyAutoGUI 简介
今天要介绍的工具就是 PyAutoGUI,看到这个名字,就能猜到它的作用,无非用 Python 自动处理图形界面的操作,的确是这样,你可以使用编程的方式来控制电脑的鼠标和键盘。
它有两个优点:
跨平台,支持 Python2 和 Python3,支持 Windows,MacOS,Linux。
易使用,接口简单不需要太多知识就可以学会,会操作鼠标和键盘就可以。
缺点:
需要定位鼠标,不能复制到多台电脑,换台电脑可能因为尺寸不同就不能执行了。
PyAutoGUI 安装
PyAutoGUI 支持 pip 进行安装
pip install pyautogui
如果是 Windows 不需要再安装其他依赖。
如果是 Mac 还要安装 pyobjc:
pip3 install pyobjc-core
pip3 install pyobjc
如果是 Linux 还需要安装下这些:
sudo apt-get scrot
sudo apt-get install python-tk
sudo apt-get install python3-dev
无论哪一个操作系统都要确保 Pillow 已经安装。如果是 Linux,你还需要安装额外的库来确保 Pillow 中
2.window下安装
更新pip
D:\python_allpro\test2\venv\Scripts\python.exe -m pip install --upgrade pip
pip install pyautogui
3.核心使用代码
代码开始:
import pyautogui
# 1、鼠标移动
# pyautogui.moveTo(100, 150) # 绝对位置
# pyautogui.moveRel(20, 10) #相对位置
# pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # 2秒带动画移动到500,500
#2、鼠标点击
# pyautogui.click() #单击
# pyautogui.click(x=100, y=200) #
# pyautogui.doubleClick() #双击
# pyautogui.rightClick() #单击鼠标右键
# pyautogui.middleClick() #单击鼠标中键
# pyautogui.click(button='right', clicks=3, interval=0.25)
#3、鼠标拖动
# pyautogui.dragTo(x,y[,duration=t)
# pyautogui.dragRel(200,200, duration=0.5) #按住左键移动
#4、鼠标滚动
# pyautogui.scroll(-10) #/ -10 # 正数向上/下滚动
# pyautogui.hscroll(10) #/ -10 # 向右/左滚动
# 5.键盘操作:
# pyautogui.typewrite('Hello world!', interval=0.25) #模拟输入
# pyautogui.typewrite(['enter']) #输入enter
# pyautogui.typewrite(['a','b','left','left','X','Y']) # XYab,点击ab后,点击键盘左键2次,再次输入XY
# pyautogui.press('esc') #点击键盘最左上角的esc键
# pyautogui.keyDown('shift')
# pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left']) #连续按键left
# pyautogui.keyUp('shift')
# pyautogui.hotkey('ctrl', 'c') # 组合键
# 6.消息弹窗提醒
# pyautogui.alert('This is an alert box.')
# pyautogui.confirm('Shall I proceed?')
# pyautogui.confirm('Enter option.', buttons=['A', 'B', 'C'])
# pyautogui.prompt('What is your name?')
# pyautogui.password('Enter password (text will be hidden)')
# 屏幕操作
# 0 截取整个屏幕
# import pyautogui
# im1 = pyautogui.screenshot()
# im1.save('my_screenshot.png')
# im2 = pyautogui.screenshot('my_screenshot2.png')
## 1、截取部分屏幕
# im = pyautogui.screenshot(r'C:\screenshot.png', region=(0, 0, 300, 400)) # 截屏并设置保存图片的位置和名称
# 2、 匹配屏幕所有与目标图片的对象,可以用for循环和list()输出
# pyautogui.locateAllOnScreen(r'C:\region_screenshot.png')
# for pos in pyautogui.locateAllOnScreen(r'C:\\region_screenshot.png'):
# print(pos)
# 3、获取屏幕点色彩属性值
# pix = pyautogui.screenshot().getpixel((100, 200)) # 0,1,2=rgb
# print(pix)
# 4、灰度值匹配
# color1 = pyautogui.pixelMatchesColor(100, 200, (205, 255, 245), tolerance=10)
# print(color1)
# 定位操作
# 1、获取屏幕宽高
# screenWidth, screenHeight = pyautogui.size()
# print(screenWidth)
# print(screenHeight)
# 屏幕左上开始为(0,0)
# 2、获取当前鼠标位置
# currentMouseX, currentMouseY = pyautogui.position()
# print(currentMouseX)
# print(currentMouseY)
# 3、根据图片定位在图片在屏幕上的中点
# x, y = pyautogui.locateCenterOnScreen(r'C:\screenshot.png')
代码结束。
4.核心简单使用(这个满足大部分的使用)
import time
import random
import pyautogui as pag
import webbrowser
pag.click(x=446, y=333)#定位 (点击坐标,可以使用微信截屏来定位位置)
pag.write(‘120’, interval=0.2)#输入数据