Skip to main content

控件对象

from ascript.ios.node import Node

通过控件选择器 Selector() .find().find_all() 而获得此对象

属性

属性备注
id控件ID
_id控件ID(同id)
label控件描述
value控件的值
text控件文本
name名称
type控件类型(同className)
index排序
className控件的类型
rect控件在屏幕中的位置
rect 属性
rect.left:x坐标
rect.top:y坐标
rect 方法
rect.width():控件的宽度
rect.height():控件的高度
rect.centerX():控件的中心坐标X
rect.centerY():控件的中心坐标Y
enabled是否可以访问
displayed是否可见
visible是否可见
accessible是否可无障碍操作
accessibility_container是否为无障碍容器

方法

点击

点击该控件

  • 函数
.click(dur=0.02)
  • 参数
参数类型是否必填说明
durfloat点击持续时间(秒),默认0.02秒
  • 示例
#案例:找到汽水音乐图标,并点击
from ascript.ios.node import Selector
node = Selector().label("汽水音乐").type("XCUIElementTypeIcon").find()

if node:
# 获取node 控件的父元素
node.click()

长按

长按该控件

  • 函数
.tap_hold(duration=1000)
  • 参数
参数类型是否必填说明
durationint点按时长,单位毫秒. 默认1000毫秒
  • 示例
#案例:找到汽水音乐图标,并长按2秒
from ascript.ios.node import Selector
node = Selector().label("汽水音乐").type("XCUIElementTypeIcon").find()

if node:
# 获取node 控件的父元素
node.tap_hold(2000)

点按 tap

直接点击该控件(底层原始点击)

  • 函数
.tap()
  • 示例
from ascript.ios.node import Selector
node = Selector().label("确定").find()
if node:
node.tap()

滚动控件

按照参数,滚动控件

  • 函数
.scroll(direction='visible', distance=1.0)
  • 参数
参数类型是否必填说明
directionstr"visible", "up", "down", "left", "right" 其中之一,默认visible:滚动至显示
distancefloat滑动屏数,默认1.0:1屏
  • 返回值

[Node] 控件对象

  • 示例
#案例:滚动至显示到屏幕中
from ascript.ios.node import Selector
node = Selector().label("汽水音乐").type("XCUIElementTypeIcon").find()

if node:
node.scroll()

缩放 pinch

对控件执行缩放手势

  • 函数
.pinch(scale, velocity)
  • 参数
参数类型是否必填说明
scalefloat缩放比例,大于1为放大,小于1为缩小
velocityfloat缩放速度
  • 示例
from ascript.ios.node import Selector
node = Selector().type("XCUIElementTypeImage").find()
if node:
node.pinch(2.0, 1.0) # 放大2倍

是否选中 selected

获取控件的选中状态

  • 函数
.selected()
  • 返回值

[bool] 是否选中

  • 示例
from ascript.ios.node import Selector
node = Selector().label("开关").find()
if node:
print("选中状态:", node.selected())

设置控件文本

设置控件的文本

  • 函数
.set_text(self, value)
  • 参数
参数类型是否必填说明
valuestr要设置的文本
  • 返回值

[Node] 控件对象

  • 示例
#案例:找到输入框控件,并向其输入自在老师666
from ascript.ios.node import Selector
node = Selector().type("XCUIElementTypeTextField").enabled(True).find()

if node:
node.set_text("自在老师666")

清空控件文本

设置控件的文本

  • 函数
.clear_text()
  • 参数

  • 返回值

[Node] 控件对象

  • 示例
#案例:找到输入框控件,并清空其中的文本
from ascript.ios.node import Selector
node = Selector().type("XCUIElementTypeTextField").enabled(True).find()

if node:
node.clear_text()