大数据 爬虫Python AI Sql生活不易 我用python

Python 应用 PyAutoGui 实现自动删除微信最新联系

2018-07-23  本文已影响11人  ae2cb3cbfdc1

想要一次性删除电脑版微信最近联系人,可以在设置里面清空聊天记录,如果是有个别联系人不想删除呢?就不能一次性清空了,我们可以使用 PyAutoGui 来跳过指定联系人进行删除的功能,不过这个功能暂不讨论,先来看看如何用 PyAutoGui 自动删除所有联系人。

PyAutoGui 是一个人性化的跨平台 GUI 自动测试模块,可以模拟鼠标、键盘进行自动化操作。

准备工作:截图

我们需要两张图片如下,这两张图片是用来查找对应按钮在屏幕上对应的坐标的:

微信联系人的按钮图标 联系人上点击右键出现的「删除聊天」选项

注意:截图的时候,建议先对微信进行截图,在前面截图的结果上,再去截这两张图,因为我直接在微信上截这两张图的话,程序运行失败。

第一步:安装 PyAutoGui

打开 cmd 窗口,cd 命令进入 pip 文件目录,在安装目录下的 Python\Python36\Scripts

cd C:\Python\Python36\Scripts(替换成你自己的安装目录)

执行安装命令,等待安装完成之后,就可以在编码中使用了

pip install PyAutoGui
第二步:上代码,内容不多,难度不大,有注释,应该能看得懂
import pyautogui as pag

while True:
    # 截取屏幕,这只是缓存,如果要保存截图,可以带上参数,即要保存的路径
    pag.screenshot()
    # 在屏幕截图中找到微信联系人的按钮图标,找到的话返回坐标如(42, 405, 27, 28),找不到返回 None
    pointLeft = pag.locateOnScreen('screens/left.png')
    print(pointLeft)
    if pointLeft is None:
        print("结束了")
        break
    # 找到按钮后,就能取得它的坐标,横坐标 +100,即在联系人上点击右键
    pag.rightClick(pointLeft[0] + 100, pointLeft[1])

    # 右键点击联系人之后会出现菜单,接着就要找到「删除聊天」的按钮位置
    pag.screenshot()
    pointDelete = pag.locateOnScreen('screens/delete.png')
    print(pointDelete)
    if pointDelete is None:
        print("结束了")
        break
    # 找到「删除聊天」之后,适当把鼠标指针向右、下移动 10 px,点击删除
    pag.click(pointDelete[0] + 10, pointDelete[1] + 10)

上一篇 下一篇

猜你喜欢

热点阅读