基础动作
坐标说明
action 模块使用 屏幕物理像素坐标。内部会按设备 scale 自动换算成 iOS 点坐标后再执行点击、滑动。
from ascript.ios import action
模拟 手指 操作
方法
点击
模拟 手指点击屏幕
- 函数
action.click(x, y=0, duration=20, jitter=0)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| x | int/Point | 是 | 要点击的屏幕X坐标,也可以传入 Point 对象 |
| y | int | 否 | 要点击的屏 幕Y坐标(当x为Point时可省略) |
| duration | float | 否 | 点击持续时间,默认20毫秒 |
| jitter | int | 否 | 随机抖动像素,默认0。大于0时会在 [-jitter, jitter] 范围内随机偏移 x/y |
- 示例
# 模拟手指点击屏幕坐标 (898,1916)
from ascript.ios import action
action.click(898, 1916)
# 模拟手指长按屏幕坐标 (898,1916) 按住两秒不放
from ascript.ios import action
action.click(898, 1916, 2000)
# 拟人点击:在目标点附近 5 像素范围内随机点击
from ascript.ios import action
action.click(898, 1916, jitter=5)
# 使用 Point 对象点击(如找色/找图返回的结果)
from ascript.ios import action
from ascript.ios.screen import FindColors
p = FindColors.find("243,842,#040404|711,916,#6B6B6B")
if p:
action.click(p)
区域随机点击
在指定矩形区域内随机选择一个点点击。
- 函数
action.click_random(x1, y1, x2, y2, duration=20)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| x1,y1 | int | 是 | 矩形区域第一个角坐标 |
| x2,y2 | int | 是 | 矩形区域第二个角坐标 |
| duration | int | 否 | 点击持续时间,默认20毫秒 |
- 示例
from ascript.ios import action
# 在按钮大致区域内随机点击
action.click_random(120, 800, 360, 900)
滑动
模拟 手指滑动屏幕
- 函数
action.slide(x1, y1, x2, y2, duration=200)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| x1 | int | 是 | 滑动起始点X坐标 |
| y1 | int | 是 | 滑动起始点Y坐标 |
| x2 | int | 是 | 滑动结束点X坐标 |
| y2 | int | 是 | 滑动结束点Y坐标 |
| duration | float | 否 | 滑动持续时间,默认200毫秒 |
- 示例
# 模拟手指滑动屏幕 从坐标(157,798) 滑动至坐标(946,834) ,耗时200毫秒
from ascript.ios import action
action.slide(157, 798, 946, 834)
# 模拟手指滑动屏幕 从坐标(157,798) 滑动至坐标(946,834) ,耗时3000毫秒
from ascript.ios import action
action.slide(157, 798, 946, 834, 3000)
拖拽滑动
模拟 手指拖拽滑动屏幕
- 函数
action.touch_and_slide(from_x, from_y, to_x, to_y,
touch_down_duration=500,
touch_move_duration=1000,
touch_up_duration=500)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| from_x | int | 是 | 滑动起始点X坐标 |
| from_y | int | 是 | 滑动起始点Y坐标 |
| to_x | int | 是 | 滑动结束点X坐标 |
| to_y | int | 是 | 滑动结束点Y坐标 |
| touch_down_duration | int | 否 | 起始点按下的时间长度,默认500毫秒 |
| touch_move_duration | int | 否 | 起点至结束点之间的滑动时长,默认1000毫秒 |
| touch_up_duration | int | 否 | 结束点抬起的时长,默认500毫秒 |
- 示例
# 模拟手指拖拽滑动屏幕 按下坐标(422,1707) 1秒钟 滑动至坐标(946,834) 用时500毫秒,松开手指 ,耗时500毫秒
from ascript.ios import action
action.touch_and_slide(422, 1707, 687, 1714, 1000, 500, 500)
输入
模拟 输入文本
- 函数
action.input(value, interval=120)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| value | str | 是 | 输入的内容 |
| interval | int | 否 | 逐字输入间隔,单位毫秒,默认120。iOS 18 及以上通常整串输入,此参数影响较小 |
- 示例
# 模拟在当前 '已获取焦点'的的文本框中输入'你好 aslib!'
from ascript.ios import action
action.input("你好 aslib!")
模拟键盘
模拟 模拟键盘
- 函数
action.keys(value, interval=120)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| value | str | 是 | 输入内容 |
| interval | int | 否 | 逐字输入间隔,单位毫秒,默认120 |
- 示例
from ascript.ios import action
action.keys("123?")
Home 键
快速回到桌面。
- 函数
action.home()
- 示例
from ascript.ios import action
action.home()