记使用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()
相关推荐
梦帮科技5 分钟前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
黑码哥8 分钟前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
亓才孓27 分钟前
[Class类的应用]反射的理解
开发语言·python
feasibility.28 分钟前
AI 编程助手进阶指南:从 Claude Code 到 OpenCode 的工程化经验总结
人工智能·经验分享·设计模式·自动化·agi·skills·opencode
小镇敲码人36 分钟前
深入剖析华为CANN框架下的Ops-CV仓库:从入门到实战指南
c++·python·华为·cann
摘星编程1 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶1 小时前
Python 项目版本控制
开发语言·python
lili-felicity1 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人1 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
xiaobaibai1531 小时前
营销自动化终极形态:AdAgent 自主闭环工作流全解析
大数据·人工智能·自动化