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

#这里的示例是用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定位)

//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView

(三)示例

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

 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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏贺贺的前端工程师之路

Flex Box布局学习- 兼容

随着自己写过的页面的增多,也遇到了很多CSS兼容性的问题。这些兼容性问题,都是必然的,因为技术在不断进步,不断革新,所谓,“后浪推前浪,前浪拍死在沙滩上”,当然...

932
来自专栏iOS122-移动混合开发研究院

PureLayout,使用纯代码写AutoLayout

? ? ? ? ? ? 为iOS和OS X的自动布局最终的API -- 令人印象深刻的简单,非常强大。 PureLayout延伸的UIView /NSView...

3137
来自专栏熊二哥

Sublime快速入门

在当前的互联网时代,任何程序语言和相关技术都只是实现互联网应用的一种手段,这也就造成了大量的互联网工程师长期与不同的语言、技术、系统环境、IDE等打交道。因此一...

1995
来自专栏破晓之歌

Python 的 GUI 开发工具 原

Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出...

7692
来自专栏進无尽的文章

扒虫篇-Bug日志 Ⅱ

事情是这样的:一个风和日丽的下午,我正在 itunesConnect 中注册一个APP,基本信息都保存了,在编辑版本信息时,都弄的差不多了,可是没有保存,结果不...

761
来自专栏施炯的IoT开发专栏

《101 Windows Phone 7 Apps》读书笔记-ALARM CLOCK

课程内容 Ø 隔离存储空间 Ø 设置 Ø 设置页面向导 Ø Toggle Switch控件 Ø 使用自定义字体     Alarm Clock模仿的...

2096
来自专栏携程技术中心

干货 | 前端常用的通信技术

作者简介 陈为平,携程市场部前端工程师,目前主要负责“携程运动”项目的大前端相关工作。 前段时间在忙开发携程运动项目和相应的微信小程序,其中和后端通信犹为频繁。...

4356
来自专栏Timhbw博客

iOS基础问答面试题连载(二)-附答案

2016-11-2120:41:52 发表评论 7℃热度 1.xcode5和xcode7区别? 2.pch文件原理? 3.UIApplication常见...

3549
来自专栏小狼的世界

Mac下快捷键的收集整理

最近刚换用了Mac的笔记本,因为之前是Linux用户,感觉切换的过程非常平滑,但是难免有些小不适应,在使用过程中,遇到一些快捷键,收集了下来,与大家分享。

1375
来自专栏CSDN技术头条

前端知识点总结——Vue

作用:将表达式执行的结果 输出当调用元素的 innerHTML 中;还可以将数据绑定到视图。

1312

扫码关注云+社区

领取腾讯云代金券