码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • app小程序手机端Python爬虫实战06UiSelector文本、className定位方式


    作者:虚坏叔叔
    博客:https://xuhss.com

    早餐店不会开到晚上,想吃的人早就来了!😄

    UiSelector文本、className定位方式

    在这里插入图片描述

    一、文本定位方式

    文本定位方式,有以下四种方式

    1.1 文本定位api

    1.1.1 Text文本定位方式

    • text 全文本匹配
    • textContains 文本包含
    • textMatches 正则表达式
    • testStartsWith 起始文本

    1.1.2 description文本选取方式

    • description全文本匹配
    • descriptionContains 文本包含
    • descriptionMatches 正则表达式
    • descriptionStartsWith 起始文本

    1.2 实例演示

    通过打开考研帮app,点击密码登录。

    在这里插入图片描述

    1.3 如何获取“考研帮app”功能的包的名称

    app打开设置功能后,在weditor中可以看到:

    com.tal.kaoyan
    
    • 1

    在这里插入图片描述

    1.3.1 文本实例代码

    # 包名通过weditor获取
    d.app_start(package_name="com.tal.kaoyan")
    # 全文本匹配
    d(text="密码登录").click()
    # 文本包含
    d(textContains="密码").click()
    # 正则表达式
    d(textMatches="密码.{2}").click()
    # 起始文本
    d(testStartsWith ="密码登").click()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    二、className定位方式

    2.1 className选取方式

    • className 完整匹配
    • classNameMatches 正则表达式匹配

    2.2 实例演示

    通过搜索找到textView位于第二个FrameLayout的第6个位置,所以索引值为5,就能够定位到这个控件

    在这里插入图片描述

    2.2.1 通过完整匹配

    # 包名通过weditor获取
    d.app_start(package_name="com.tal.kaoyan")
    # className
    d(className="android.widget.TextView")[5].click()
    
    • 1
    • 2
    • 3
    • 4

    这里也可以换一种表达方式:

    用instance定位,效果是一样的

    # 包名通过weditor获取
    d.app_start(package_name="com.tal.kaoyan")
    # className
    #d(className="android.widget.TextView")[5].click()
    # 通过instance定位
    d(className="android.widget.TextView", instance=5).click()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.2.2 正则表达式匹配

    # 包名通过weditor获取
    d.app_start(package_name="com.tal.kaoyan")
    # className
    d(classNameMatches="android\.widget\.TextView", text="密码登录").click()
    
    • 1
    • 2
    • 3
    • 4

    三、总结

    • 本文介绍了Uiautomator2UiSelector文本、className定位方式。
    • 如果觉得文章对你有用处,记得 点赞 收藏 转发 一波哦,博主也支持为铁粉丝制作专属动态壁纸哦~

    💬 往期优质文章分享

    • python3调用百度翻译接口

    • 花 1 分钟写了一段爬虫,帮实现微信抢号成功
    • C++读取python脚本中的dictionary字典变量以及它的键值对

    • Qt中的套件提示no complier set in kit和no debugger,出现黄色感叹号问题解决(MSVC2017)

    • Python+selenium 自动化 - 实现自动导入、上传外部文件(不弹出windows窗口)

    🚀 优质教程分享 🚀

    • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
    • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
    • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
    学习路线指引(点击解锁)知识定位人群定位
    🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
    ❤️ Python&C++混合编程❤️难度偏高分享学习Python C++混合编程知识!

    🚀 资料白嫖,温馨提示 🚀

    关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

    请添加图片描述

  • 相关阅读:
    SpringBoot3.x原生镜像-Native Image尝鲜
    Qt6.2 Android 无线调试设置 (Readmi 9A为例) [Windows]
    大二C#实现酒店管理系统(C端展示、前台操作、登记入住、入住管理、职位管理、公告系统等)
    java基于SpringBoot+Vued的小区物业管理系统 elementui 前后端分离
    【笔记】《结网:互联网产品经理改变世界》
    聊聊并发编程——原子操作类和Fork/Join框架
    C语言源代码系列-管理系统之小学生测验
    【EasyRL学习笔记】第五章 Proximal Policy Optimization 近端策略优化算法
    华为录屏全攻略,从入门到高手
    QoS策略
  • 原文地址:https://blog.csdn.net/huangbangqing12/article/details/126086322
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号