控件查找器
from ascript.ios.node import Selector
控件查找器,通过约束方法
,和查询方法
,来获取屏幕中满足条件的控件
.
方法
创建查找器
创建一个控件查找器
- 函数
#class
Selector()
- 参数
无
- 示例
from ascript.ios.node import Selector
# 创建一个选择器
selector = Selector()
查找控件一个
查找控件,返回一个满足条件的控件
- 函数
#class
Selector().find()
- 返回值
Element 控件对象
- 示例
#案例:查找出符合条件的第一个控件
from ascript.ios.node import Selector
node = Selector().find()
if node:
#找到了控件
print(node)
#打印控件属性,耗时操作
print(node.info)
else:
print('没有找到任何控件')
查找控件全部
查找控件,返回满足条件的控件
- 函数
#class
Selector().find_all()
- 参数
无
- 返回值
Element[] 控件对象列表
- 示例
#案例:查找出所有符合条件的控件
from ascript.ios.node import Selector
nodes = Selector().find_all()
if nodes:
#找到了一组控件
print( len(nodes) )
else:
print('没有找到任何控件')
属性约束
文本
通过 label
检索控件
label一般指显示在屏幕中的文字
- 函数
Selector().label(value:str,mode=MODE_EQUAL)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
value | str | 是 | 控件label值 |
mode | int | 是 | 匹配模式 默认Selector.MODE_EQUAL:完全相同 Selector.MODE_CONTAINS:包含在其中 |
- 返回值
Selector 返回控件查找器,用于链式编程
- 示例
# 查找label值“等于”Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().label("Keep").find()
if node:
#找到了控件
print(node)
#打印控件属性,比较耗时
print(node.info)
else:
print('没有找到任何控件')
# 查找label值 “包含 ”Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().label("Kee",Selector.MODE_CONTAINS).find()
if node:
#找到了控件
print(node)
#打印控件属性,比较耗时
print(node.info)
else:
print('没有找到任何控件')
描述
通过 value
检索控件
value 一般指控件的附加值,可通过控件查看器查找.
- 函数
Selector().value(value:str,mode=MODE_EQUAL)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
val | str | 是 | 控件value值 |
mode | int | 是 | 匹配模式 默认Selector.MODE_EQUAL:完全相同 Selector.MODE_CONTAINS:包含在其中 |
- 返回值
Selector 返回控件查找器,用于链式编程
- 示例
# 查找value值“等于”Ascript文本的控 件
from ascript.ios.node import Selector
node = Selector().value("在iCloud中").find()
if node:
#找到了控件
print(node)
#打印控件所有属性,较为耗时
print(node.info)
else:
print('没有找到任何控件')
# 查找value值“包含”Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().value("iCloud",Selector.MODE_CONTAINS).find()
if node:
#找到了控件
print(node)
#打印控件所有属性,较为耗时
print(node.info)
else:
print('没有找到任何控件')
类型
通过 type
检索控件
- 函数
Selector().type(value:str,mode=MODE_EQUAL)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
value | str | 是 | 控件type值 |
mode | int | 是 | 匹配模式 默认Selector.MODE_EQUAL:完全相同 Selector.MODE_CONTAINS:包含在其中 |
- 返回值
Selector 返回控件查找器,用于链式编程
- 示例
# 查找value 值等于Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().type("XCUIElementTypeWindow").find()
if node:
#找到了控件
print(node)
#打印控件所有属性,较为耗时
print(node.info)
else:
print('没有找到任何控件')
是否可访问
通过 enabled
检索控件
该方法推荐,和其他约束联合调用,否则速度会比较慢
- 函数
Selector().enabled(value:bool)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
value | bool | 是 | True:可访问, False:不可访问 |
- 返回值
Selector 返回控件查找器,用于链式编程
- 示例
# 查找value值等于Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().enabled(True).find()
if node:
#找到了控件
print(node)
#打印控件所有属性,较为耗时
print(node.info)
else:
print('没有找到任何控件')
是否显示
通过 visible
检索控件
该方法推荐,和其他约束联合调用,否则速度会比较慢
- 函数
Selector().visible(value:bool)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
value | bool | 是 | True:显示在页面的控件, False:没有显示在页面上的控件 |
- 返回值
Selector 返回控件查找器,用于链式编程
- 示例
# 查找value值等于Ascript文本的控件
from ascript.ios.node import Selector
node = Selector().visible(False).find()
if node:
#找到了控件
print(node)
#打印控件所有属性,较为耗时
print(node.info)
else:
print('没有找到任何控件')
绘制排序
通过 index
检索控件,当前层级的第几个控件
该方法推荐,和其他约束联合调用,否则速度会比较慢
- 函数
Selector().index(value:int)
- 参数
参数 |
---|