python-appium元素定位

一、元素定位方法

        (1)id定位:find_element_by_id(“resource-id的属性值”)

                利用元素的resource-id的属性值进行定位;在Android App中同一类别的元素的id的属性值有可能一致。

        (2)name定位:find_element_by_name(“text属性值”) 利用元素的text属性值进行定位,由于text的值容易发送变化,在appium1.5后该方法被废弃

        (3)class_name定位:find_element_by_class_name(“class的属性值”)

                利用元素的class属性值进行定位,只能定位到符合条件的第一个元素。 注意:在Android App中的class的作用类似于html中的标签名,重复率较高,一般不推荐使用

                         

        (4)xpath定位:利用元素的层级路径进行定位。

                ①绝对路径定位:以单斜线“/”开头,不建议使用

                ② 相对路径定位:以双斜线“//”开头 ----> //class的属性值

                ③元素属性定位:任意一个属性 //class属性值[@属性名=“属性值”],class可以用*代替,表示任意class

                ④属性与逻辑结合 //class[@属性名1=“属性值1” and @ 属性名2=“属性值2”]

                ⑤属性与层级结合 //父元素class[@属性名=“属性值”]/子元素class

        (5)list定位:获取到所有符合条件的元素,结果是一个list列表,根据索引获取元素,索引从0开始

        (6)相对定位:

                当无法直接定位子元素,可以先定位父元素,然后根据父元素定位子元素。方法:

                        父元素 = driver.find_element_by_xxx()

                        子元素 = 父元素.find_element_by_xxx()

二、元素操作方法

        (1)点击:click()

        (2)输入:send_keys()

                send_keys()传入中文时需要在capability中配置如下内容:

# 输入法守护
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True

                使用Appium做了输入操作之后,如果出现输入法无法唤起,可以在系统设置——语言和输入法——将当前输入法替换为系统输入法或者其他输入法。

        (3)清空:clear()

三、元素等待

        强制等待:sleep(sec)

        显式等待

        隐式等待:implicitly_wait(sec)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值