python坐标定位手机元素_Appium+Python之元素定位和操作

本文详细介绍了如何使用Appium和Python进行手机元素的定位和操作,包括使用uiautomatorviewer工具、各种定位方式如id、class_name、xpath、text等,以及元素的点击、清空、输入、获取text等操作。此外,还讲解了触摸操作如滑动、点击坐标,系统按键事件,以及driver的重要操作如reset、start_activity、context切换和网络设置等。
摘要由CSDN通过智能技术生成

一、常用识别元素的工具

uiautomatorviewer:Android SDK自带的一个工具,在tools目录下

二、元素定位

1.格式:find_element_by_定位方式(value)

通过id定位

(取resource-id的值):

driver.find_element_by_id("com.wuba.zhuanzhuan:id/azo")

也可以直接用id后面的内容driver.find_element_by_id("azo")

通过class_name定位

(取class的内容)

driver.find_element_by_class_name("android.widget.RelativeLayout")

通过xpath定位

(取xpath得内容)

driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.XXX")

通过text定位

(需要使用uiautomator的定位方式,使用text的内容)

driver.find_elements_by_android_uiautomator("new UiSelector().text(\"+关注\")")

使用这里需要注意一下,通过text定位的结果是个list,不能直接click。所以如果要点击需要取数组的值,比如下面是点击找到的第一个元素

driver.find_elements_by_android_uiautomator("new UiSelector().text(\"+关注\")")[0].click()

通过css_selector定位(webview)

只适用于webview的html页面,继承自webdriver,与pc版本的UI测试一致

driver.find_element_by_css_selector()

通过link_text定位(webview)

只适用于webview容器中的html页面,继承自webdriver,与pc版本的UI测试一致

driver.find_element_by_link_text()

通过name定位

web view容器中的html页面可以用name定位,native并没有name属性

driver.find_element_by_name()

2.定位元素的另一种写法:find_element(by,value)

find_element_by_方式(value)实际调用的都是find_element(by,value)

需要导入这个包:from selenium.webdriver.common.by import By

例如:定位id为ag2的元素

方式一:driver.find_element_by_id("ag2”)

方式二:driver.find_element(By.ID,"ag2")

这个操作的好处是可以直接把操作的by和value放到一个元组里ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值