记使用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()
相关推荐
❁满城风絮*17 小时前
Claude Code 学习总结
python·agent·claude
维克兜率天20 小时前
【维克】复合型CTA:趋势+套利的双轮驱动
python·学习方法
伞伞悦读20 小时前
【第76期】两张3行表左连接变5行:主键、validate与未匹配排查完整教程
人工智能·python
用户83562907805120 小时前
使用 Python 在 Excel 中添加和自定义迷你图
后端·python
用户83562907805121 小时前
使用 Python 在 Excel 图表中添加趋势线与回归方程
后端·python
特立独行的猫A21 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python
深蓝AI21 小时前
HTTPX 超时 1 秒,接口为何还能跑 2.4 秒?
python
CyrusYiVPP21 小时前
哪个用户会再来买?RFM模型+plotly画出用户分层,数据分析实战第2期
人工智能·python
李帅5151 天前
用 CPU 做发票识别:从 OCR 文本行到结构化明细表的 4 个硬骨头
python
happylifetree1 天前
Python79:核心语法-面向对象基础-实例方法
python