记使用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()
相关推荐
ValhallaCoder7 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
未来侦察班8 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
猫头虎8 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话9 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
青春不朽51210 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD00110 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
全栈老石11 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
梨落秋霜11 小时前
Python入门篇【模块/包】
python
阔皮大师12 小时前
INote轻量文本编辑器
java·javascript·python·c#