先前看到这篇文章: 教你用 Python 来玩微信跳一跳(iOS)
然后试着跑一下,结果发现太多坑了,现在把细节补充说明一下:
WebDriverAgent是Facebook发布的,旨在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。你可以实现启动、杀死应用,点击、滚动视图等操作。
功能不止作弊这么玩,其实很强大的,如常用于手机应用自动化测试,具体内容可以参考下文: 基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建 ATX使用 Python 库 facebook-wda 完成网易云音乐 iOS 客户端的自动化测试 (示例)
brew install carthage./Scripts/bootstrap.shfacebook.wda替换为woodstream。
修改完成后build源码,如果还无法成功,则打开project.pbxproj文件,搜索facebook.wda并全替换为woodstream再次build。
image.png 看到输出打印出IP地址表示成功,否则,多执行几次Test,直到成功为止(记住这个地址,一会要用),如果几次都没成功,则可能手机设置问题,通过手机的IP和端口还不能访问,此时需要将手机的端口转发到Mac上:
brew install imobiledevice iproxy 8100 8100
Test时打印出IP地址
利用facebook-wda这个Python库,通过构造HTTP请求直接跟WebDriverAgent通信。
python --versionconfig/iPhone目录下对应你的真机设备文件,复制到当前目录并重命名为config.json,里面参数可能需要微调。curl -O https://raw.githubusercontent.com/pypa/get-pip/master/get-pip.pysudo python get-pip.py也可以把上两命令换为一个:
sudo easy_install pippip install --pre facebook-wdaxcode-select --installsudo easy_install -f http://www.pythonware.com/products/pil/ Imagingsudo pip install -r requirements.txt此时可能会因为旧版依赖库存在而报错:
如six,原因是Apple预安装的这个six库出于安全原因被设置为sudo也不可以执行操作,所以需要依赖于高版本的库就需要更新six,但是没有six的权限,所以就会报错。
可以选择忽略错误,也可以替换为如下命令强制升级:
sudo pip install -r requirements.txt --upgrade --ignore-installedwda.Client把括号内容替换为上述Test时的IP地址,如:wda.Client('http://192.168.96.91:8100') python wechat_jump_auto_iOS.py至此可以看到小人自动跳跃了。