首页 > 其他分享 >uiautomator2获取UIObject元素的属性info用法

uiautomator2获取UIObject元素的属性info用法

时间:2023-05-30 16:36:27浏览次数:40  
标签:info 控件 元素 False UIObject 字符串 uiautomator2 属性

info是UIAutomator2中用来获取控件属性信息的方法。该方法可以获取到指定元素的一些属性信息,例如控件的文本、坐标、大小、类名、包名、是否可见等。使用该方法可以帮助我们更好的理解应用程序的UI结构,并找到需要操作的控件元素。

d(text=element, instance=index).info

info是UIAutomator2中的一个方法,用于获取指定元素的属性信息。该方法返回的信息是一个Python字典对象,其中包含了一些常用的属性信息, 如下所示:

    • text:控件的文本内容(字符串类型)。
    • resourceName:控件的字符串资源名称,包含了控件所在的应用程序包名和控件的唯一标识符(字符串类型)。
    • className:控件的Java类名(字符串类型)。
    • contentDescription:控件的内容描述,一般在无障碍模式下使用(字符串类型)。
    • checkablecheckedclickableenabledfocusablefocusedscrollablelongClickable
      :控件的一些布尔属性(True或False类型)。
    • packageName:控件所在的应用程序包名(字符串类型)。
    • bounds:控件在屏幕上的边界矩形框(左上角和右下角的坐标)。该属性的值是一个字典对象,包含4个键值对:lefttoprightbottom,这些值均为整数类型。

此处为输出的info信息

{'bounds': {'bottom': 384, 'left': 282, 'right': 786, 'top': 342}, 'childCount': 0, 'className': 'android.widget.TextView', 'contentDescription': None, 'packageName': 'com.ximalaya.ting.android', 'resourceName': 'com.ximalaya.ting.android:id/main_tv_no_login_hint_old', 'text': '登录后,自动同步所有记录哦~', 'visibleBounds': {'bottom': 384, 'left': 282, 'right': 786, 'top': 342}, 'checkable': False, 'checked': False, 'clickable': False, 'enabled': True, 'focusable': False, 'focused': False, 'longClickable': False, 'scrollable': False, 'selected': False}

 

常常可以用于找到bounds,然后进行坐标点击,左滑动右滑动等

以及判断childCount的个数,可能元素之间childCount值不同,那么就可以进行判断是否成功出现

 

标签:info,控件,元素,False,UIObject,字符串,uiautomator2,属性
From: https://www.cnblogs.com/zz-1021/p/17443621.html

相关文章

  • uiautomator2获取toast提示
    可以使用uiautomator2的toast方法来获取app中弹出的toast提示。具体操作如下:1.导入uiautomator2库:fromuiautomator2import*2.连接设备:d=u2.connect('设备序列号')3.打开app:d.app_start('应用包名')4.等待toast弹出:toast_msg=d.toast.get_m......
  • sockjs.js:1603 GET http://localhost/sockjs-node/info?t=1685340190468 net::ER
    vue项目报错不影响运行,但控制台看到这报错,属实不舒服 解决方法:进入\node_modules\sockjs-client\dist\sockjs.js注释1603行   刷新页面,没报错了 ......
  • [ICDE 2023] Minimizing the Influence of Misinformation via Vertex Blocking
    MinimizingtheInfluenceofMisinformationviaVertexBlockingMotivationandApplication其实就是经典的RumorBlocking问题,即通过一系列的操作使得rumor在社交网络中的影响力最小。主流的方法有三种:找到一组seedset去和rumor节点竞争,社交网络中的节点都只能被激活一次,......
  • 为视障者打造无障碍的 WinForms 应用程序
    如何在WindowsForms应用程序中改善屏幕阅读器可访问性屏幕阅读器是一种辅助技术,可以通过语音或者盲文显示器来读出屏幕上的内容,帮助视力障碍者使用计算机。WindowsForms是一种基于.NETFramework的桌面应用程序开发技术,提供了丰富的控件和组件,以及一些可访问性功能,可以让开......
  • how to strip debug info
    compile:c++-gtmp.cc-ostarrocks_besplitdebuginfoobjcopy--only-keep-debugstarrocks_bestarrocks_be.debugstrip--strip-debugstarrocks_belinkdebuginfowithstripedbinaryobjcopy--add-gnu-debuglink=starrocks_be.debugstarrocks_beoptional......
  • NIST SP 800-37 Risk Management Framework for Information Systems and Organizatio
    NISTSP800-37RiskManagementFrameworkforInformationSystemsandOrganizationsASystemLifeCycleApproachforSecurityandPrivacy Itstructuredinto3levelorganizationview,businessmissionandinformationsystemview.800-37isshortforNIST......
  • The Difficulty of Passive Learning in Deep Reinforcement Learning
    发表时间:2021(NeurIPS2021)文章要点:这篇文章提出一个tandemlearning的实验范式来研究为什么offlineRL很难学。对于offlineRL来说,一个很严重的问题就是extrapolationerror,也就是没见过的stateactionpair的估计是不准确的。再加上bootstrapping的更新方式,就会加剧误差导致o......
  • WinForm中给弹窗添加遮罩层
    1.新建三个窗体:  2.MainForm主窗体代码如下: privateMaskForm_shadowForm;///<summary>///显示遮罩层///</summary>privatevoidShowMask(){_shadowForm=newShadowForm......
  • Winform虚拟/模拟键盘
    项目需要在触摸屏上增加一个虚拟键盘。记录下过程中遇到的问题及解决方法。1.模拟按键网上找到如下3种方法1)SendKeys.Send测试单独的shift不好用,所以最终未采纳此方法SendKeys.Send("^{E}");//shift+eSendKeys.Send("{Enter}");2)keybd_event最终选择了这个方法,简单有效......
  • C# Winform按钮避免重复点击
    btn_01.Enabled=false;//执行任务的函数和代码//执行任务的函数和代码Application.DoEvents();btn_01.Enabled=true;就是让应用程序的消息队列自动走完(在按钮正常前清空消息队列即可)......