一、获取元素信息
get_attribute(name)
name:元素的属性名
1、获取元素属性值
# 1 获取元素的text属性值
element.text
element.get_attribute("text")
# 2 获取元素的content-desc属性值
element.get_attribute("contentDescription")
# 3 获取元素的text或content-desc属性值
element.get_attribute("name")
# 若元素的content-desc属性值不为空时,则表⽰获取content-desc的属性值;
# 若元素的content-desc属性值为空时,则表⽰获取text的属性值;
# 4 获取元素的resource-id属性值
element.get_attribute("resourceId")
# 5 获取元素的class属性值
element.get_attribute("className")
element.tag_name
# 6 获取元素的其他属性
element.get_attribute("checkable")
element.get_attribute("selected")
2、判断元素
# 1 判断元素是否可见。若可见则返回True;否则返回False
element.is_displayed()
# 2 判断元素是否被选中。若被选中则返回True;否则返回False
element.is_selected()
# 3 判断元素是否可⽤。若可⽤则返回True;否则返回False。
element.is_enabled()
3、获取元素大小
# 1 获取元素长度和⾼度,返回值为字典类型,key值为width、height
element.size
# 2 获取元素的起始位置坐标,返回值为字典类型,key值为x、y
element.location
# 3 获取元素的rect数据,返回值为字典类型,key值为width、height、x、y
element.rect
二、元素操作
1、元素的点击、输入和清除操作
# 1. 元素的点击、输⼊和清除操作
element.click()
# 2 模拟控件点击操作
element.send_keys(*value)
# 模拟输⼊⽂本到控件
# *value:可以是字符串、数字,也可以是本地⽂件路径
注意1:使⽤send_keys⽅法输⼊中⽂时有时会引发输⼊异常(即输⼊的⽂本与预期⽂本不⼀样),则可通过修改appium⾃带的输⼊法来解
决。(在启动设备的desired_capabilities参数unicodeKeyboard和resetKeyboard键值修改为True)
注意2:测试完成后记得⼿动将⼿机中的输⼊法恢复到默认,否则会导致⼿机输⼊法⽆法使⽤。desired_capabilities['unicodeKeyboard'] = True
表⽰使⽤unicode编码⽅式发送字符串
desired_capabilities['resetKeyboard'] = True
表⽰隐藏键盘
# 3 清除控件输⼊框中内容
element.clear()
2、元素下查找下一层级(元素子孙)
#获取某个控件,可通过find_element_by_xpath⽅法在参数中添加上下层级的⽅式来获取,也可通过元素下再查找元素的⽅式获取。
element.find_element_by_XX()