基于 python + WebDriverAgent 的“跳一跳”小程序高分教程
当初微信放出了 6.6.1 版本,在微信首页二楼(下拉出现)位置重磅推出了“跳一跳”小程序,瞬间刷爆朋友圈。
在大家忙于游戏的时候,有人独辟蹊径基于 python + WebDriverAgent 实现了通过 PC 远程操控手机“跳一跳”小程序小人自动跳动,将分数刷到了令人发指的地步,悄悄占领朋友圈第一。
目前已经有比较火的几篇文章详细讲如何实现上述操作,但是或多或少存在描述不够详细、参数设置只在某些机型上表现较好的问题。这也造成我在根据这些教程实现过程中踩了几个小坑。本文基于 Macbook + iphone 6s plus 来讲一下如何实现上述过程,也将踩过的坑记录下。
环境准备
安装 python3
下载并点击安装。下载地址 :https://codechina.csdn.net/weixin_54556126/python/-/issues/1
安装包准备好 在终端 terminal 中输入如下命令,查看是否安装 python3 成功。
~ python3 -V
Python 3.6.4
复制代码
创建 python3 虚拟环境
文档地址: 方法如下:
~ python3 -m venv tutorial-env
~ source tutorial-env/bin/activate
(tutorial-env) ➜ ~
复制代码
安装 pip
安装 python 包管理工具 pip。 方法如下:
(tutorial-env) ➜ ~ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
(tutorial-env) ➜ ~ python get-pip.py
复制代码
安装 xcode
通过 appstore 安装
安装 WebDriverAgent
xcode,尽量新版。尽量升级Xcode到最新版,保持iPhone的版本大于9.3。
从github上下载代码
git clone https://github.com/facebook/WebDriverAgent
复制代码
安装 carthage
brew install carthage
复制代码
运行初始化脚本
./Scripts/bootstrap.sh
复制代码
该脚本会使用Carthage下载所有的依赖,使用npm打包响应的js文件
执行完成后,直接双击打开WebDriverAgent.xcodeproj这个文件。
设置证书
设置证书签名,Team 一栏勾选个人账号即可。
接着在TARGETS里面选中WebDriverAgentRunner,用同样的方法设置好证书
重命名WebDriverAgent的BundleID,避免重名。
接着在TARGETS里面选中WebDriverAgentRunner,用同样的方法重命名。
运行和测试
Xcode - Product - Scheme 中选择 WebDriverAgentRunner。
将 iphone 通过数据线连接到 macbook 上。 在 Xcode - Product - Destination 中选择数据线连接的 iphone 。
运行 Xcode - Product - Test
端口转发
~ brew install libimobiledevice
~ iproxy 8100 8100
复制代码
使用iproxy --help 可以查到更具体的用法。 这时通过访问http://localhost:8100/status确认WDA是否运行成功。
而inspector的地址是http://localhost:8100/inspector, inspector是用来查看UI的图层,方便写测试脚本用的
使用 python 控制 iphone 自动跳一跳
获取 python 跳一跳代码
仓库地址:github.com/korbinzhao/…
git clone git@github.com:korbinzhao/wechat_jump_game.git
复制代码
安装 facebook-wda
(tutorial-env) ➜ ~ pip3 install --pre facebook-wda
复制代码
安装项目依赖
(tutorial-env) ➜ wechat_jump_game git:(master) ✗ pip3 install -r requirements.txt
复制代码
拷贝 ./config/iPhone 目录下对应的设备配置文件,重命名并替换到 ./config.json
在手机中打开小程序界面,运行 python 脚本
(tutorial-env) ➜ wechat_jump_game git:(master) ✗ python3 wechat_jump_auto_iOS.py
复制代码
最终效果
基于 python + WebDriverAgent 的“跳一跳”小程序高分教程相关推荐
- python开发微信小游戏大全_【python】用python玩微信跳一跳小游戏
Python微信跳一跳实验报告 Step 1 准备工具:一台安卓手机,Windows10,python3,adb驱动,依赖的各种python库 Step 2 PiP安装:下面列出需要安装的库: bac ...
- python小程序代码50 到100行-Python代码不到四十行简单暴力,微信跳一跳小程序轻松过万...
群内不定时分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴入群学习交流 最近微信有个小程序,并不知道大家有没有被这个游戏给刷屏,这个游戏就是跳一跳 今天就用P ...
- Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏
前言: 本期我们将仿制一个Chrome浏览器里隐藏多年的彩蛋小游戏,即"恐龙跳一跳"(当然一般都叫它T-Rex Rush). 让我们愉快地开始吧~ 效果图 在Chrome浏览器地址 ...
- 计算机实战项目 含文档+PPT+源码等]精品基于Python实现的鲜花销售小程序
django鲜花销售微信小程序>该项目采用技术Python的django框架.mysql数据库 ,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码介绍视频等 软件开 ...
- 微信跳一跳高分系列三:用 adb 破解微信跳一跳小程序
写在前面:网上关于微信跳一跳的文章已有很多,写这篇的目的是对 adb 工具的一个熟悉过程,也是对未入门的新朋友的一个引导 步骤: 1.保存当前跳一跳页的截图到手机 adb shell screenca ...
- 基于python tkinter的课堂点名小程序
import datetime import json import os import random import tkinter as tk import openpyxl# 花名册文件名 很多人 ...
- python语音播报库-基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...
- python读音播报-基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...
- python 语音播报库_基于python GUI开发的点名小程序(语音播报)
#实现名单轮播.点名.语音播报功能 #优化版本1 # -*- coding:utf8 -*- # # ------------------------------------------------- ...
最新文章
- Android的组件化和模块化
- 阿里云ECS上环境搭建(virtualenv+flask+gunicorn+supervisor+nginx)
- 三体系建设是什么意思_湖南信息系统建设和服务能力评估体系怎么做?是什么?...
- Floating-point exception
- Redis源码剖析(六)事务模块
- c/s和b/s两种开发模式
- 18. 爱吃皮蛋的小明(斐波那契数列)
- instanceof应用场景 instanceof一般用于对象类型强制转换
- docker学习记录 docker 脚本----gitlab,nexus3(二)
- steam新授权软件_「西米软件推荐」桌面乱七八糟的人,请认真看完
- smartupload java_jspSmartUpload组件使用(一)
- 【小墨mysql】mysql系列之三---事务
- 如何在Visio中插入公式符号
- 计算机知识论,计算机科学与技术中的系统论与辩证法
- 智慧城市将成为推进我国新型城镇化的新思路、新手段、新模式
- 关于Chartboost的视频广告
- CryEngine 动态添加模型
- CSS3做齿轮旋转的动画
- 图解 Vue3.0 编译器核心原理(Vue3.0源码解析)
- Revit 其他dll
热门文章
- Alpha多样性稀释曲线rarefraction curve还不会画吗?快看此文
- R语言ggplot2可视化条形图(bar plot)、配置因子变量的全局填充色方案、这样不同数据集相同因子的填充色具有一致性(Fix colors to factor levels)
- R语言构建xgboost模型:模型的保存(xgb.save)和加载(xgb.load)、或者保存为R二进制文件(xgb.save.raw R binary vector)
- python使用imbalanced-learn的RandomUnderSampler方法进行下采样处理数据不平衡问题
- java drools5_Java Drools5.1 规则流基础【示例】
- 捋一下测序后生信分析内容及其常用软件
- 【转】NG:垂枝桦基因组图谱构建(2+3组装)及重测序分析
- 什么是RNA-Seq (RNA Sequencing)
- mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
- apache php 执行shell,PHP执行普通shell命令流程解析