Skip to main content

基础动作

坐标说明

action 模块使用 屏幕物理像素坐标。内部会按设备 scale 自动换算成 iOS 点坐标后再执行点击、滑动。

from ascript.ios import action

模拟 手指 操作

方法

点击

模拟 手指点击屏幕

  • 函数
action.click(x, y=0, duration=20, jitter=0)
  • 参数
参数类型是否必填说明
xint/Point要点击的屏幕X坐标,也可以传入 Point 对象
yint要点击的屏幕Y坐标(当x为Point时可省略)
durationfloat点击持续时间,默认20毫秒
jitterint随机抖动像素,默认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,y1int矩形区域第一个角坐标
x2,y2int矩形区域第二个角坐标
durationint点击持续时间,默认20毫秒
  • 示例
from ascript.ios import action

# 在按钮大致区域内随机点击
action.click_random(120, 800, 360, 900)

滑动

模拟 手指滑动屏幕

  • 函数
action.slide(x1, y1, x2, y2, duration=200)
  • 参数
参数类型是否必填说明
x1int滑动起始点X坐标
y1int滑动起始点Y坐标
x2int滑动结束点X坐标
y2int滑动结束点Y坐标
durationfloat滑动持续时间,默认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_xint滑动起始点X坐标
from_yint滑动起始点Y坐标
to_xint滑动结束点X坐标
to_yint滑动结束点Y坐标
touch_down_durationint起始点按下的时间长度,默认500毫秒
touch_move_durationint起点至结束点之间的滑动时长,默认1000毫秒
touch_up_durationint结束点抬起的时长,默认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)
  • 参数
参数类型是否必填说明
valuestr输入的内容
intervalint逐字输入间隔,单位毫秒,默认120。iOS 18 及以上通常整串输入,此参数影响较小
  • 示例
# 模拟在当前 '已获取焦点'的的文本框中输入'你好 aslib!'
from ascript.ios import action
action.input("你好 aslib!")

模拟键盘

模拟 模拟键盘

  • 函数
action.keys(value, interval=120)
  • 参数
参数类型是否必填说明
valuestr输入内容
intervalint逐字输入间隔,单位毫秒,默认120
  • 示例
from ascript.ios import action
action.keys("123?")

Home 键

快速回到桌面。

  • 函数
action.home()
  • 示例
from ascript.ios import action
action.home()

快捷滑动

按当前屏幕尺寸自动计算起止点,执行常用方向滑动。

  • 函数
action.slide_left()
action.slide_right()
action.slide_up()
action.slide_down()
  • 示例
from ascript.ios import action

action.slide_up() # 上滑
action.slide_down() # 下滑

模拟按键

按键码表

按键值按键描述备注
action.KEY_HOME模拟home按键
action.KEY_VOLUMEUP模拟音量+
action.KEY_volumedown模拟音量-
action.KEY_POWER模拟电源按键仅 hid方法可用
action.KEY_SNAPSHOT模拟截屏按键仅 hid方法可用
action.KEY_POWER_AND_HOME模拟电源+Home仅 hid方法可用

模拟按钮

模拟点击手机按钮

  • 函数
action.key_press(value)
  • 参数
参数类型是否必填说明
valuestr按键码表'支持前3个'
  • 示例
# 模拟点击home按键
from ascript.ios import action
action.key_press(action.KEY_HOME)

模拟按钮-HID协议

模拟点击手机按钮,使用键鼠协议

  • 函数
action.key_press_hid(key, duration=20)
  • 参数
参数类型是否必填说明
keystr按键码表'支持全部'
durationfloat按住时间,默认20毫秒, 单位毫秒
  • 示例
# 模拟呼出siri
from ascript.ios import action
action.key_press_hid(action.KEY_POWER, 3000)

双击

模拟 手指双击屏幕

  • 函数
action.double_tap(x, y)
  • 参数
参数类型是否必填说明
xint要双击的屏幕X坐标
yint要双击的屏幕Y坐标
  • 示例
from ascript.ios import action
action.double_tap(500, 800)

快捷滑动

模拟 手指快速滑动 的便捷方法

from ascript.ios import action

# 向左滑
action.slide_left()

# 向右滑
action.slide_right()

# 向上滑
action.slide_up()

# 向下滑
action.slide_down()

回到桌面

模拟按 Home 键

from ascript.ios import action
action.home()