Python 8行代码模拟鼠标自动删除微信收藏_公众号

上回我们提到了 ​​用 Pyuserinput 进行模拟键盘鼠标操作​​,结果发现很多同学都回复无法安装成功,即便安装成功了还是存在很多问题。

确实,Pyuserinput存在不少问题,包括其安装的pymouse可能会有DLL加载失败的情况。因此,今天我们将换一个模块进行模拟鼠标操作,那就是 Pyautogui.

PyAutoGUI 和 PyUserInput 有很大的不同,在windows系统上,它并不需要win32扩展,而是采用ctypes来调用动态链接库函数的功能模块的方式,因此安装起来非常方便!


1.准备



开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:​​超详细Python安装指南​​ 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:​​Python数据分析与挖掘好帮手—Anaconda​​,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:​​Python 编程的最好搭档—VSCode 详细指南​​。

请选择以下任一种方式输入命令安装依赖

1. Windows 环境 打开 Cmd (开始-运行-CMD)。

2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install pyautogui


看到 Successfully installed xxx 则说明安装成功。安装过程中如果提示缺少某些模块,pip install 缺少的模块即可。



2.基础使用



在使用上,pyautogui 与 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值,用上回我们提到的看鼠标软件(看鼠标)进行位置信息的采集:


看鼠标 软件可在Python实用宝典公众号后台回复:​看鼠标​ 下载。


Python 8行代码模拟鼠标自动删除微信收藏_python_02


然后找到右键后相关操作的位置:


Python 8行代码模拟鼠标自动删除微信收藏_偏移量_03


最后还有一个确认选项的位置:


Python 8行代码模拟鼠标自动删除微信收藏_python_04

我们只需要将这系列操作连续起来自动化运行:


# 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 8行代码模拟鼠标自动删除微信收藏_公众号_05

然后我们再优化代码,让其可设定删除的条数:


# Python实用宝典
# 2020/05/14

import pyautogui
import time
DELETE = 10
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


最终效果如下:


Python 8行代码模拟鼠标自动删除微信收藏_公众号

当然,你也可以在循环里直接 while 1 删除所有收藏哦。怎么样,学到了吗?如果有收获的话,记得点一下右下角的在看/赞哦,感谢各位。


我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注Python实用宝典。

原创不易,希望你能在下面点个赞支持我继续创作,谢谢!

Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

Python 8行代码模拟鼠标自动删除微信收藏_公众号_07