前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python appium笔记(二):元素定位

python appium笔记(二):元素定位

作者头像
free赖权华
发布2018-08-02 15:16:31
1.6K0
发布2018-08-02 15:16:31
举报
文章被收录于专栏:赖权华的笔记

#这里的示例是用android来说明的,xpath应该是通用的,resource-id不太清楚,没配过IOS的环境

#环境配置和一些参数的意思不清楚可以看我上一篇python appium笔记(一)

(一)说明

主要说明下面2种方式,其实感觉通过xpath,不管selenium还是appium,应该能定位全部元素了。

1、resource-id:定义了resource-id,并且唯一的情况下,可以使用这种方式

2、xpath:任何情况下,都可以用xpath进行定位

(二)查看

#做第四步的时候,记得先连真机,并且开启USB调试

1、启动appium,点击下面的start server

2、点击file -- new session window

3、配置Desired Capabilities(这里可以保存配置信息,方便下次使用)

4、Start Session启动

5、如上图,可以看到resource-id的值,但是可以发现这个值不是唯一的。

6、所以可以用xpath进定位,把 android.widget.ImageView这些东西当成HTML的标签看就行了。(这里我当你已经能熟练的在selenium中使用xpath定位)

代码语言:javascript
复制
//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView

(三)示例

这里用博客园的app做示例了

代码语言:javascript
复制
 1 from appium import webdriver
 2 import time
 3 desired_caps = {
 4     'platformName':'Android',
 5     #用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了
 6     'deviceName':'HUAWEI',
 7     'platformVersion':'7.0',
 8     'appPackage':'com.rae.cnblogs',
 9     'appActivity':'com.rae.cnblogs.activity.LauncherActivity',
10     'unid':'填写自己手机unid的值',
11     'noReset':'true',
12     #设置下面2个参数解决不能输入中文的问题
13     'unicodeKeyboard': 'True',
14     'resetKeyboard':'True'
15 }
16 driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
17 driver.implicitly_wait(20)
18 #定位 我,通过xpath定位
19 my = driver.find_element_by_xpath('//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView')
20 my.click()
21 #定位意见反馈,通过resource-id定位
22 idea = driver.find_element_by_id('com.rae.cnblogs:id/ll_feedback')
23 idea.click()
24 #定位意见反馈输入框
25 idea_input = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_input')
26 # idea_input = driver.find_element_by_xpath('//android.widget.LinearLayout[2]/android.widget.EditText')
27 #定位发送意见按钮
28 idea_send = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_send')
29 #输入意见信息
30 idea_input.send_keys('博客园is very good!support you')
31 #点击发送
32 idea_send.click()
33 time.sleep(10) #睡眠10秒
34 #退出app
35 driver.quit()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档