python appium定位元素_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做示例了

from appium import webdriver

import time

desired_caps = {

'platformName':'Android',

#用真机的时候,这个参数deviceName没什么用,但是还是必须要有这个参数,值的话随便填就行了

'deviceName':'HUAWEI',

'platformVersion':'7.0',

'appPackage':'com.rae.cnblogs',

'appActivity':'com.rae.cnblogs.activity.LauncherActivity',

'unid':'填写自己手机unid的值',

'noReset':'true',

#设置下面2个参数解决不能输入中文的问题

'unicodeKeyboard': 'True',

'resetKeyboard':'True'

}

driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)

driver.implicitly_wait(20)

#定位 我,通过xpath定位

my = driver.find_element_by_xpath('//android.support.v7.app.ActionBar.Tab[4]//android.widget.ImageView')

my.click()

#定位意见反馈,通过resource-id定位

idea = driver.find_element_by_id('com.rae.cnblogs:id/ll_feedback')

idea.click()

#定位意见反馈输入框

idea_input = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_input')

# idea_input = driver.find_element_by_xpath('//android.widget.LinearLayout[2]/android.widget.EditText')

#定位发送意见按钮

idea_send = driver.find_element_by_id('com.rae.cnblogs:id/avoscloud_feedback_send')

#输入意见信息

idea_input.send_keys('博客园is very good!support you')

#点击发送

idea_send.click()

time.sleep(10) #睡眠10秒

#退出app

driver.quit()

[python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

Python+Appium自动化测试(6)-元素等待方法与重新封装元素定位方法

在appium自动化测试脚本运行的过程中,因为网络不稳定.测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待 ...

Appium学习笔记4_元素定位方法

Appium之元素定位,如果对Android上如何使用工具获取页面元素有问题的,请转战到这:http://www.cnblogs.com/taoSir/p/4816382.html. 下面主要是针对自 ...

Python自动化中的元素定位xpath(二)

1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...

python+appium 自动化2--元素定位uiautomatorviewer

出处:https://www.cnblogs.com/yoyoketang/p/6128741.html 前言: 可以打开手机上的app了,下一步元素定位uiautomatorviewer,通过定位到 ...

python appium笔记(一):appium android环境配置及示例

(一) 简介 Appium是一个开源的自动化测试框架,可以用来测试基于iOS.Android和Firefox OS平台的原生和混合应用.该框架使用Selenium Webdriver,在执行测试时和 ...

Python+Appium自动化测试(13)-toast定位

一,前言 在app自动化测试的过程中经常会遇到需要对toast进行定位,最常见的就是定位toast或者获取toast的文案进行断言,如下图,通过定位"登录成功"的toast就可以断 ...

python学习之——selenium元素定位

web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...

Appium(六):元素定位

1. 元素定位 对于自动化测试来说,核心技能就是对象的定位了.不管是web页面上的按钮或输入框,还是移动app上的一个按钮或输入框,我们要想对其进行点击或输入操作,前提是要先找到这个对象. webdr ...

随机推荐

Objective-C中把URL请求的参数转换为字典

上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...

关于Javascript作用域及作用域链的总结

本文是根据以下文章以及第四章相关内容总结的. 1.Javascript作用域原理,地址:http://www.laruence.com/200 ...

有关C#标签Attribute的熟悉

Attribute 简单用法: 最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAt ...

.NET 向SQL里写入非Text类型

一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语 ...

Android与server通信中的方法(TCP)高效的安全完整

我以前一直使用sockets实现emulator和PC进行通讯,卡了几天,最后请教其它人最终能够连接了.  错误原因是在IP和port,IP要用本机IP(在CMD输入ipconfig.注意:每次开机本 ...

SQL Server 完美SPLIT函数

-- SQL Server Split函数   -- Author:zc_0101    -- 说明:   -- 支持分割符多字节   -- 使用方法    -- Select * FROM DBO. ...

小强的HTML5移动开发之路(13)——HTML5中的全局属性

来自:http://blog.csdn.net/dawanganban/article/details/18179483 一.accssskey  快捷键 HTML> ...

LeetCode算法题-First Unique Character in a String(Java实现)

这是悦乐书的第213次更新,第226篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第81题(顺位题号是387).给定一个字符串,找到它中的第一个非重复字符并返回它的索引. ...

[洛谷P1484] 种树

题目类型:堆+贪心 传送门:>Here< 题意:有\(N\)个坑,每个坑可以种树,且获利\(a[i]\)(可以为负).任何相邻两个坑里不能都种树,问在最多种\(K\)棵树的前提下的最大获利 ...

LeetCode 788 Rotated Digits 解题报告

题目要求 X is a good number if after rotating each digit individually by 180 degrees, we get a valid num ...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值