当初微信放出了 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 的“跳一跳”小程序高分教程相关推荐

  1. python开发微信小游戏大全_【python】用python玩微信跳一跳小游戏

    Python微信跳一跳实验报告 Step 1 准备工具:一台安卓手机,Windows10,python3,adb驱动,依赖的各种python库 Step 2 PiP安装:下面列出需要安装的库: bac ...

  2. python小程序代码50 到100行-Python代码不到四十行简单暴力,微信跳一跳小程序轻松过万...

    群内不定时分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴入群学习交流 最近微信有个小程序,并不知道大家有没有被这个游戏给刷屏,这个游戏就是跳一跳 今天就用P ...

  3. Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

    前言: 本期我们将仿制一个Chrome浏览器里隐藏多年的彩蛋小游戏,即"恐龙跳一跳"(当然一般都叫它T-Rex Rush). 让我们愉快地开始吧~ 效果图 在Chrome浏览器地址 ...

  4. 计算机实战项目 含文档+PPT+源码等]精品基于Python实现的鲜花销售小程序

    django鲜花销售微信小程序>该项目采用技术Python的django框架.mysql数据库 ,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码介绍视频等 软件开 ...

  5. 微信跳一跳高分系列三:用 adb 破解微信跳一跳小程序

    写在前面:网上关于微信跳一跳的文章已有很多,写这篇的目的是对 adb 工具的一个熟悉过程,也是对未入门的新朋友的一个引导 步骤: 1.保存当前跳一跳页的截图到手机 adb shell screenca ...

  6. 基于python tkinter的课堂点名小程序

    import datetime import json import os import random import tkinter as tk import openpyxl# 花名册文件名 很多人 ...

  7. python语音播报库-基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...

  8. python读音播报-基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 # -*- coding:utf8 -*- # # -------------------------------------------------------- ...

  9. python 语音播报库_基于python GUI开发的点名小程序(语音播报)

    #实现名单轮播.点名.语音播报功能 #优化版本1 # -*- coding:utf8 -*- # # ------------------------------------------------- ...

最新文章

  1. Android的组件化和模块化
  2. 阿里云ECS上环境搭建(virtualenv+flask+gunicorn+supervisor+nginx)
  3. 三体系建设是什么意思_湖南信息系统建设和服务能力评估体系怎么做?是什么?...
  4. Floating-point exception
  5. Redis源码剖析(六)事务模块
  6. c/s和b/s两种开发模式
  7. 18. 爱吃皮蛋的小明(斐波那契数列)
  8. instanceof应用场景 instanceof一般用于对象类型强制转换
  9. docker学习记录 docker 脚本----gitlab,nexus3(二)
  10. steam新授权软件_「西米软件推荐」桌面乱七八糟的人,请认真看完
  11. smartupload java_jspSmartUpload组件使用(一)
  12. 【小墨mysql】mysql系列之三---事务
  13. 如何在Visio中插入公式符号
  14. 计算机知识论,计算机科学与技术中的系统论与辩证法
  15. 智慧城市将成为推进我国新型城镇化的新思路、新手段、新模式
  16. 关于Chartboost的视频广告
  17. CryEngine 动态添加模型
  18. CSS3做齿轮旋转的动画
  19. 图解 Vue3.0 编译器核心原理(Vue3.0源码解析)
  20. Revit 其他dll

热门文章

  1. Alpha多样性稀释曲线rarefraction curve还不会画吗?快看此文
  2. R语言ggplot2可视化条形图(bar plot)、配置因子变量的全局填充色方案、这样不同数据集相同因子的填充色具有一致性(Fix colors to factor levels)
  3. R语言构建xgboost模型:模型的保存(xgb.save)和加载(xgb.load)、或者保存为R二进制文件(xgb.save.raw R binary vector)
  4. python使用imbalanced-learn的RandomUnderSampler方法进行下采样处理数据不平衡问题
  5. java drools5_Java Drools5.1 规则流基础【示例】
  6. 捋一下测序后生信分析内容及其常用软件
  7. 【转】NG:垂枝桦基因组图谱构建(2+3组装)及重测序分析
  8. 什么是RNA-Seq (RNA Sequencing)
  9. mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
  10. apache php 执行shell,PHP执行普通shell命令流程解析