公司业务需要自动化操作手机,本来以为很困难,没想到使用AScript工具出乎意料的简单,但是还有很多坑存在,写个博客记录一下。
工具信息:
手机:iphone7
系统版本:ios15
AScript官方文档链接:https://ascript.cn/docs/ios/download/app
1.手机上下载AScript和WDA框架两个软件,下载很简单,直接扫官方文档中的二维码就行。
2.WDA框架激活。直接按照官方文档下载爱思助手和iTunes驱动。
3.与官方文档不同的是ios15没有开发者模式,只要在爱思助手实时屏幕投屏成功就证明链接成功了。点击手机上的AScript-WDA软件,出现Automation Running。
4.有两种写代码运行方式,1.web端2.pycharm安装插件
不要用pycharm!不要用pycharm!不要用pycharm!安装插件方式根本用不到,即使安装好插件也是调用的web端的代码。
5.打开http://192.168.50.190:9096/modules.html创建一个新工程,域名端口是自己手机AScript软件里的。
6.创建新工程后会进入后台页面。
![](https://i-blog.csdnimg.cn/direct/502da3c457274064938ac7daa0ea6e44.png)
7.具体自动化操作可以查看开发文档,大部分日常操作应该能满足。
注意!想在手机输入框输入文字,需要在手机上把键盘设置成as键盘才行。
8.自动化代码实例
python
from ascript.ios import action
from ascript.ios import ime
import time
import requests
from ascript.ios import action
from ascript.ios.node import Selector
from ascript.ios import system
import random
def search():
num = 5
while True:
randint = random.randint(0, 100)
time.sleep(random.randint(0, 5))
if num % 5 == 0:
#判断页面内容有没有"没有找到相关内容,换个词试试吧"
if Selector().label("没有找到相关内容,换个词试试吧").find():
return
#判断页面内容有没有包含"没有找到相关"的句子
if Selector().label("没有找到相关", 1).find():
return
if Selector().label("相关笔记较少", 1).find():
return
if Selector().label("相关内容不予展示", 1).find():
return
if Selector().label("电池电量", 1).find():
xs = Selector().value("关闭").find().click()
if randint % 10 == 0:
action.click(279, 1347)
time.sleep(random.randint(2, 5))
action.click(61, 150)
action.slide(658 + randint, 1904 + randint, 361 + randint, 1097 + randint)
def start(text):
# 根据包名启动app,推荐使用
print(system.app_current())
system.app_stop(bundle_id="com.xxx.discover")
system.app_start(bundle_id="com.xxx.discover")
time.sleep(8)
#搜索位置点击,xy坐标
action.click(1150, 1110)
time.sleep(3)
#输入框输入文字
ime.input_text(text)
#回车
ime.input_enter()
time.sleep(3)
#找到第一个筛选并点击
xs = Selector().value("筛选").find().click()
zx = Selector().value("最新").find().click()
xs = Selector().value("筛选").find().click()
search()
# xs = Selector().value("筛选").find().click()
# zh = Selector().value("综合").find().click()
# xs = Selector().value("筛选").find().click()
# search()
def main():
print('开始点击')
start('面膜')
main()