记使用AScript自动化操作ios苹果手机

公司业务需要自动化操作手机,本来以为很困难,没想到使用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.创建新工程后会进入后台页面。

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()
相关推荐
小锋学长生活大爆炸20 分钟前
【开源软件】这次iPhone也是用上Claw了 | PhoneClaw
ios·开源软件·iphone·claw
念恒123061 小时前
Python(复杂判断)
python·学习
无敌的黑星星1 小时前
Java8 CompletableFuture 实战指南
linux·前端·python
StockTV1 小时前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
chaofan9801 小时前
GPT-5.5 领衔 Image 2.0:像素级控制时代,AI 绘图告别开盲盒
开发语言·人工智能·python·gpt·自动化·api
七颗糖很甜2 小时前
“十五五”气象发展规划:聚焦五大核心任务
大数据·python·算法
星恒讯工业路由器2 小时前
配网自动化多网融合应用解决方案
运维·自动化
智慧物业老杨2 小时前
智慧物业收费系统的数智化落地实践:从人工硬扛到自动化闭环
运维·自动化
爱码小白2 小时前
Python 异常处理 完整学习笔记
开发语言·python
芝士就是力量啊 ೄ೨2 小时前
Python如何编写一个简单的类
开发语言·python