✔1.node.js初体验windows ✔2.commonjs-回顾ES6模块化 ✔3.commonjs的语法介绍 ✔4.commonjs和ES6 Module的区别 ✔5.Bug分类 ✔6.node.js和前端js的区别 ✔7.左关联 ✔8.聚合函数 ✔9.【案例】统计上班时间 ✔10.数据库的索引 ✔11.索引的分类 ✔12.查询数学成绩比语文成绩高的学生 ✔13.查询平均成绩大于80分的学生 ✔14.学生总成绩排序 ✔15.学过体育课学生的年龄 ✔16.查询学号大年龄小的学生 ✔17.整体回顾 ✔18.通过mitmproxy解析短视频App返回数据-接口分析 ✔19.app无法抓包探秘-1 ✔20.UiSelector resourceId定位方式 |
|
学习内容:
UiSelector 它可以帮助我们查找控件。
其中,resourceId是UiSelector中的一个属性,用于定位具有唯一资源ID的UI元素。
还有xpath,className。
以下是使用resourceId定位方式的UiSelector示例代码:
import uiautomator2 as u2
d = u2.connect_usb("N950")
d.app_start(package_name="com.android.settings")
# 通过资源ID来定位控件,通过索引来进行限定
# 可以选择多个控件,默认选择的是第一个控件
d(resourceId="android:id/title")[2].click()
# 通过实例来进行查找,值和索引值是一样的
d(resourceId="android:id/title", instance=2).click()
# 通过多个条件来进行限定
d(resourceId="android:id/title", text="蓝牙").click()
# 通过正则表达式的方法来获取资源ID,进行控件的定位
d(resourceIdMatches="android:id\/\w{5}", text="蓝牙").click()
代码解读:
在这个示例中,首先,
1.import uiautomator2 as u2
:导入uiautomator2库,并将其重命名为u2,方便在后面的代码中调用。
2.d = u2.connect_usb("4bf05af7")
:通过USB连接到指定设备。也可以通过 wifi。
3.d.app_start(package_name="com.android.settings")
:启动指定的应用程序,即Android的 “设置” 应用。
4.d(resourceId="android:id/title")[2].click()
:通过资源ID和索引号定位第三个具有该ID的控件,并点击该控件。
5.d(resourceId="android:id/title", instance=2).click()
:通过资源ID和索引号定位第三个具有该ID的控件,并点击该控件(与第4行代码作用相同)。
6.d(resourceId="android:id/title", text="蓝牙").click()
:通过资源ID和文本内容定位具有该ID和文本内容的控件,并点击该控件。
7.d(resourceIdMatches="android:id\/\w{5}", text="蓝牙").click()
:通过正则表达式的方法定位资源ID符合指定模式的控件,并点击该控件(这里的正则表达式是匹配以"android:id/"开头,后面跟着5个任意字符的ID)。
任重道远,爬美团APP。
共同学习,写下你的评论
评论加载中...
作者其他优质文章