PyAutoGUI是Python语言编写的键盘鼠标自动化库,简单来说就是和按键精灵一样的功能。但是因为是Python类库,所以可以使用Python代码配合其他一些类库来完成更强大的功能。让我给你介绍一下。安装可以从pip安装。pipinstallpyautogui稍等片刻,安装完成。使用介绍简单介绍一下PyAutoGUI的功能和使用方法。鼠标操作功能操作鼠标点击的功能。函数简介move(x,y),moveTo(x,y)移动鼠标,前者移动相对位置,后者移动到指定位置click(x,y),doubleClick,rightClick点击/双击/rightclick,无参数Version在当前位置点击鼠标drag(x,y),dragTo(x,y)拖动鼠标mouseDown,mouseUp按下按钮,松开按钮scrolldownscroll鼠标滚轮功能键盘操作功能the操作键盘按钮的功能。函数介绍press('left',press=3)hotkey('ctrl','s')按下Ctrl+SkeyDown,keyUp按下并松开键盘按键提示框函数PyAutoGUI可以显示提示框,此时程序会暂停,直到用户点击提示框。函数介绍alert(text='',title='',button=['OK','取消'])显示警告对话框confirm()显示确认对话框prompt()显示提示对话框password()显示密码输入对话框截图和定位函数截屏的函数也可以从屏幕中找到匹配的图片并返回它们的坐标。可以提前保存一些按钮的截图,然后这样定位按钮,然后点击。函数介绍screenshot('image.png')保存截图并返回截图,不带参数的版本不保存直接返回截图center('image.png')找到图片在屏幕上的位置,返回框位置locateOnScreen('img')从屏幕上找到图片的位置,直接返回坐标。简单示例下面我们来看一下官网的绘图示例。我稍微更改了代码。运行本例需要先打开一个绘图窗口,将其全屏,然后运行Python代码,快速将绘图程序切换到前台。这样就可以看到PyAutoGUI是控制鼠标绘制精确直线的。导入pyautogui导入timetime.sleep(3)distance=100pyautogui.moveTo(400,300)whiledistance>0:pyautogui.drag(distance,0,duration=0.1)distance-=5pyautogui.drag(0,distance,duration=0.1)pyautogui.drag(-distance,0,duration=0.1)distance-=5pyautogui.drag(0,-distance,duration=0.1)画出来的图应该是这样的如果要完成一些实际工作,难免会遇到识别点击样式复杂的图片的场景。前面说了截图和图片识别可以更好的解决这个问题。本例需要先安装OpenCV库和opencv-python包,安装完成后即可运行。这里将win10计算器的几个按钮保存为图片,然后利用PyAutoGUI的图片识别功能找到按钮的坐标,这样就可以无障碍的点击按钮,不用关心窗口的位置。特别是,下面的置信度参数需要安装OpenCV,这允许我们模糊匹配图像。importpyautoguiimporttimetime.sleep(3)#Windows计算器按钮截图五='5.png'eight='8.png'multiply='multiply.png'equals='equals.png'#图像识别和点击函数deffind_and_click(image):x,y=pyautogui.locateCenterOnScreen(image,confidence=0.9)pyautogui.click(x,y)#execute5*8=find_and_click(five)find_and_click(multiply)find_and_click(eight)find_and_click(equals)截图和这个例子的代码在我的github上,欢迎大家查看。https://github.com/techstay/python-study/tree/master/pyautogui-sample
