这个项目更多偏于我个人仓库,但是可以作为引子,提供一些思路。代码可能无法完全适用所有人,建议看懂代码后自行修改到自己适用的状态。
本脚本用于自动化处理红包相关操作。通过 screenshot.py
脚本填写 ABC 截图的坐标,运行后生成对应的截图作为模板,并将填写的坐标复制粘贴到 main.py
的坐标地址中,使用 Python 和 OpenCV 库来进行图像识别,同时使用 pyautogui
来模拟鼠标点击。这种方法可以帮助识别到红包弹窗后进行自动点击,模拟人手的操作,并加入一些随机性来避免检测。
- A:红包提示开始弹窗
- B:红包连续点击弹窗
- C:抢红包结果弹窗
使用模板和实时截图做对比,相似度高于一定程度判断为弹窗出现,之后模拟人手抢红包操作点击屏幕。
-
运行
screenshot.py
-
打开
screenshot.py
文件。 -
填写 ABC 截图的坐标。
-
运行脚本,生成对应的截图作为模板。
-
-
复制坐标
- 将
screenshot.py
中填写的坐标复制。
- 将
-
粘贴到
main.py
-
打开
main.py
文件。 -
将复制的坐标粘贴到
main.py
的相应位置作为实时截图的定位。
-
坐标显示:snipaste 自带截图显示的坐标(这软件的截图功能也好用)
投屏:QtScrcpy,比特率和尺寸适当降低可以降低 CPU 占用,例如 比特率 2000000,尺寸 1080
- 安卓手机投屏到电脑,开启开发者选项模拟点击。或者使用 PC 的安卓模拟器。
- 运行目标安卓 APP,使用 PC 工具找到需要截图的 ABC 弹窗在 PC 屏幕的位置坐标,填入
screenshot.py
运行生成截图作为后续对比的模板。 - 将上一步截图 ABC 的坐标填入到
main.py
,运行脚本观察输出的日志查看结果。
-
确保坐标填写正确,以避免脚本运行错误。
-
截取的模板尽量不要截取太大,建议只截取有固定特征的部分,可以提高识别成功率和运行效率。
-
结果弹窗 C,有些时候同样一个按钮因为弹窗内容不同导致宽高不同,可能存在不同的坐标。
-
运行脚本前,请确保所有依赖项已安装。使用
pip
安装依赖项:pip install opencv-python pyautogui pillow numpy