Appium-安卓原生-常见元素定位API的Python用法(二)

9 篇文章 0 订阅
6 篇文章 0 订阅

安卓原生页面常用元素定位方法的Python使用,代码演示使用的哔哩哔哩安卓客户端,模拟器是夜神模拟器,尝试了最常用的id,class,name,xpath定位方式,还有一些其他的定位方式是webview特有的,持续更新ing

#coding=utf-8
'''
Created on 2017/12/24 0024
@author:Changge
'''
from appium import webdriver
import time

desired_caps = {
    'platformName':'Android',
    'deviceName':'127.0.0.1:62001',
    'platformVersion':'4.4.2',
    'appPackage':'tv.danmaku.bili',
    'appActivity':'tv.danmaku.bili.ui.splash.SplashActivity',
    'unicodeKeyboard':True,
    'resetKeyboard':True
}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
##休眠5s等待页面加载完成
time.sleep(5)
'''
各种定位方法尝试
'''
#id定位,通过resource-id属性
#id单数定位,id唯一
id_ele = driver.find_element_by_id('tv.danmaku.bili:id/largeLabel')
print("id单数定位:" + id_ele.text)

#id复数定位
id_eles = driver.find_elements_by_id('tv.danmaku.bili:id/tab_title')
texts = []
for ele in id_eles:
    texts.append(ele.text)
print("id复数定位:" + str(texts))

#class单数定位
# class_ele = driver.find_element_by_class_name('android.support.v7.widget.RecyclerView')
# print('class单数定位:'+class_ele.get_attribute('class'))

#class复数定位
class_eles = driver.find_elements_by_class_name('android.widget.TextView')
texts = []
for ele in class_eles:
    texts.append(ele.text)
print('class复数定位:'+str(texts))

#name单数定位,通过text属性
name_ele = driver.find_element_by_name('推荐')
print('name单数定位:'+name_ele.text)

#name复数定位
name_eles = driver.find_elements_by_name('编辑推荐')
texts = []
for ele in name_eles:
    texts.append(ele.text)
print('name复数定位:'+str(texts))

#xpath单数定位
xpath_ele = driver.find_element_by_xpath('//android.widget.TextView[contains(@resource-id,"tv.danmaku.bili:id/ranks")]')
print('xpath单数定位:'+xpath_ele.text)

#xpath复数定位
xpath_eles = driver.find_elements_by_xpath('//android.widget.TextView')
texts = []
for ele in xpath_eles:
    texts.append(ele.text)
print('xpath复数定位:'+str(texts))
driver.quit()

运行结果

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值