微信于2017年12月28日发布新版本,小程序中有跳跃游戏。我尝试通过点击一点来播放它。我看到有高手用Python代码计算按下时间,向手机发送android adb命令,让电脑自动玩游戏。这里总结一下搭建Python运行环境和运行程序的尝试。仅供参考!希望对大家有所帮助!
整个过程有点混乱。看了很多博客,学习了别人的经验,最后还算顺利。我衷心感谢他们的分享。接下来是详细流程,一起来看看吧!希望你不要把分数定得太高,否则你很容易没有朋友。
相关软件下载
软件名称:facebook-wda Python 库0.2.2 iOS 自动化测试免费版软件大小:155KB 更新时间:2018-01-02 软件名称:WebDriverAgent iOS 移动测试框架官方免费版(附安装教程) 软件大小:29MB 更新时间发布时间:2018-01-02 软件名称:Python微信跳转微信跳转游戏辅助脚本免费绿色版(附Android/ios使用说明) 软件大小:15.5MB 更新时间:2018-01-03 操作规范
考虑到生产环境的标准化以及实验与项目之间不存在干扰,请尝试使用新的虚拟环境来完成实验。
对于MacOS/Win,请使用以下操作打开新的虚拟环境(对于MacOS/Win,相同操作不强调)
下载Anaconda。 MacOS:默认安装/Win:安装时注意检查配置路径或者稍后手动配置,直到cmd后conda关键字有效
查看所有虚拟环境conda info --envs
使用命令:conda create -n wechat_env python=3 创建名为wechat_env的虚拟环境,并配置python版本为python3
激活虚拟环境:MacOS:source activate wechat_env /Win:activate wechat_env
安装需要的包,如matplotlib等,建议使用conda install package_name,避免虚拟环境包的路径问题
以下操作不是必须的,只有实验完成后才能操作。整个实验阶段都是在虚拟环境中进行的。进入虚拟环境时,会有一个前缀符号,如:
(wechat_env) ~/桌面/wechat_jump_game-master
退出虚拟环境:MacOS:source deactivate wechat_env/Win:deactivate wecha_env
删除虚拟环境:conda remove -n wechat_env --all
工具介绍
Python
手机或模拟器
ADB驱动,可以在这里下载
相关依赖
如果您使用的是iOS + MacOS,请参考以下配置:
使用真机调试WDA,参考如何在iOS真机上安装WebDriverAgent TesterHome
安装openatx/facebook-wda(点击下载)
Python 3
使用brew安装brew cask install android-platform-tools
安装完成后,插入Android设备,Android已开启USB调试模式(部分新机型可能需要勾选允许模拟点击权限)。在终端中输入adb devices。出现以下显示表示设备已连接。
附加设备列表
6934dc33设备
如果您是Android+Windows,请参考以下配置:
Python 3
安装完ADB后,请将adb安装路径保存到环境变量中的PATH变量中,以保证adb命令能够被识别。
测试与Android + MacOS的连接
关于Win+Android中添加adb调试路径等问题,可以尝试使用Tools文件夹中的adb文件夹进行调试。详细信息请参见adb中的readme文件。
取决于安装
pip install -r 要求.txt
iOS/Android版本使用方法:
原理说明
手机点击“跳转”小程序界面;
使用adb工具获取当前手机的截图,并使用adb将截图拉起。
使用matplot显示截图(经过图像识别处理)
用鼠标点击起点和目标位置即可计算像素距离(已经过图像识别处理)
根据像素距离计算按下时间;
使用Adb工具点击屏幕即可蓄力跳跃;
如果您使用的是iOS:
运行已安装的WebDriverAgentRunner
手机点击“跳一跳”小程序界面
python3 wechat_jump_iOS_py3.py,会提示安装wda(点击下载)
如果提示找不到config,进入脚本同级config目录,找到你iPhone屏幕尺寸的config.json文件,然后复制
如果选择手动脚本跳转(脚本为:python3 wechat_jump_iOS_py3.py),依次点击起始位置和目标位置即可实现带电跳转。
打开python3 wechat_jump_iOS_py3.py,根据带电跳跃的精度改变里面的time_coefficient,直到得到最佳值
步
打开Android 手机上的USB 调试,转到“设置”>“开发者选项”>“USB 调试”
用USB线连接电脑和手机,并确保执行adb devices可以找到设备ID
界面进入微信跳一跳游戏,点击开始游戏。
运行python wechat_junp_auto.py。如果手机界面显示USB授权,请点击确认。
我的屏幕是1920*1080,距离系数是1.35。如果是其他分辨率,需要暂时修改代码中的距离系数。
win版本安装方法:
1.首先下载并安装Python
我的笔记本电脑是win7,64位。从官网下载的Python 64位EXE安装包安装的是3.5版本。
安装时请注意,如果勾选“将Python 3.5添加到路径”,则无需手动将python.exe所在路径添加到Windows Path环境变量中。
安装成功后,打开命令提示符窗口,输入python命令可以看到一些信息。
2.安装matplotlib
下载合适版本的安装包matplotlib。我这里下载的是matplotlib-2.1.1。
将安装包复制到python安装目录下的scripts文件夹中。重新启动cmd窗口,执行语句:pip3.5 install + matplotlib安装文件的路径进行安装。例如: pip3.5 install D:/Python3.5/Scripts/matplotlib-2.1.1-cp35-cp35m-win_amd64.whl
注意安装过程中一定要绕开墙壁。如果不可能,您还可以安装离线版本。
3.安装枕头
完成步骤1和2后,运行Python代码时,仍然报错,出现提示ImportErrorNo module named PIL。
需要安装枕头。
运行命令安装Pillow: pip install Pillow
4. 运行Python代码
打开手机微信小程序,输入Jump。在电脑命令提示符窗口使用adb devices命令检查手机是否连接成功。 (首先确保adb工具已安装)
切换到源码所在目录。我把它放在桌面上。例如:
cd C:/Users/lish/Desktop/Python_WeChatJump/wechat_jump_game-master
然后运行程序
python wechat_jump_auto.py
至此,程序终于顺利运行了,电脑也可以在手机上愉快地玩这个小游戏了。