上回我们提到了用 pyuserinput 进行模拟键盘鼠标操作,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题。确实,pyuserinput存在不少问题,包括其安装的pymouse可能会有DLL加载失败的情况。因此,今天我们将换一个模块进行模拟鼠标操作,那就是pyautogui.
PyAutoGUI和PyUserInput有很大的不同,在windows系统上,它并不需要win32扩展,而是采用ctypes来调用动态链接库函数的功能模块的方式,因此安装起来非常方便!
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。
当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。
在终端输入以下命令安装我们所需要的依赖模块:
pip install pyautogui
看到 Successfully installed xxx 则说明安装成功。安装过程中如果提示缺少某些模块,pip install 缺少的模块即可。
2.基础使用
其实它与pymouse和pykeyboard差别不大,就是函数名变了。比如说移动鼠标到屏幕中央:
import pyautogui screenWidth, screenHeight = pyautogui.size() pyautogui.moveTo(screenWidth / 2, screenHeight / 2)
鼠标点击:
pyautogui.click()
鼠标移动,第一个参数是移动的x轴偏移量,第二个参数是y轴偏移量,第三个参数是移动耗时:
pyautogui.moveRel(xOffset, yOffset, duration=num_seconds)
右击、中键、双击、三击任意位置:
pyautogui.rightClick(x=moveToX, y=moveToY) pyautogui.middleClick(x=moveToX, y=moveToY) pyautogui.doubleClick(x=moveToX, y=moveToY) pyautogui.tripleClick(x=moveToX, y=moveToY)
当然,还有很多其他有用的函数,相关的其他函数请见pyautogui的中文文档(没错,还有中文文档)。
3.删除微信收藏
虽然你可能觉得删除的过程中你无法再用电脑做任何事情,这样的删除没有意义,但是,你可以找一个不需要用到电脑的时间来做这个操作,启动脚本后去喝杯奶茶不香吗?
首先我们要找到操作目标的x,y值,用上回我们提到的看鼠标软件(软件下载:mousexy,也可在Python实用宝典公众号后台回复:看鼠标 下载)进行位置信息的采集:
然后找到右键后相关操作的位置:
最后还有一个确认选项的位置:
我们只需要将这系列操作连续起来自动化运行:
# Python实用宝典 # 2020/05/14 import pyautogui import time pyautogui.rightClick(706, 281) time.sleep(0.5) pyautogui.click(733, 351) time.sleep(0.5) pyautogui.click(768, 647)
没错,就是这么简单,演示一下:
然后我们再优化代码,让其可设定删除的条数:
# Python实用宝典 # 2020/05/14 import pyautogui import time DELETE = 5 delete_num = 0 while delete_num < DELETE: pyautogui.rightClick(706, 281) time.sleep(0.5) pyautogui.click(733, 351) time.sleep(0.5) pyautogui.click(768, 647) delete_num += 1
效果如下:
当然,你也可以 while 1 直接删除所有收藏哦。怎么样,学到了吗?如果有收获的话,记得点一下右下角的在看/赞哦,感谢各位。
我们的文章到此就结束啦,如果你喜欢今天的 Python 教程,请持续关注Python实用宝典。
有任何问题,可以在公众号后台回复:加群,回答相应验证信息,进入互助群询问。
原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!
Python实用宝典 ( pythondict.com )
不只是一个宝典
欢迎关注公众号:Python实用宝典