首页 > 编程语言 >Python subprocess 使用(二)

Python subprocess 使用(二)

时间:2023-12-26 20:11:23浏览次数:37  
标签:Python activity 35 subprocess item 315 使用 id icon

Python subprocess 使用(二)

本篇继续介绍subprocess的使用.

这里主要添加两个自己在工作过程中常用的两个小命令.

1: 获取顶层activity

import subprocess

def get_top_activity():
    # 使用adb命令获取顶层activity
    cmd = 'adb shell dumpsys window |grep "mCurrentFocus=Window"'
    # 解析输出结果,提取顶层activity
    result = subprocess.check_output(cmd, shell=True).decode('utf-8').strip()
    return result


# 调用函数获取顶层activity
print("Top activity:", get_top_activity())

2: 获取top activity 某个view 的id

import subprocess
import sys,os
name = sys.argv[0]
arg =sys.argv[1]

def get_control_id():
    # 使用adb命令获取当前activity某个组件id
    cmd = 'adb shell dumpsys activity top  |grep "app:id/'+arg+'"'
    print(cmd)
    result = subprocess.check_output(cmd, shell=True).decode('utf-8').strip()

    return result

# 调用函数获取顶层activity
print("id/"+arg+":", get_control_id())

参数传入目标view的id name:

python3 topActivity.py item_icon

输出如下:

Top activity: mCurrentFocus=Window{bbad0c0 u0 com.test.signapk/com.test.signapk.MainActivity}
adb shell dumpsys activity top  |grep "app:id/item_icon"
id/item_icon: androidx.appcompat.widget.AppCompatImageView{c12b536 V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{1f96f09 V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{9342b4b V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{607b57d V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{e8c756c V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{8f2f622 V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}
                      androidx.appcompat.widget.AppCompatImageView{c4337a5 V.ED..... ........ 35,35-315,315 #7f08008c app:id/item_icon}

标签:Python,activity,35,subprocess,item,315,使用,id,icon
From: https://www.cnblogs.com/zhjing/p/17929259.html

相关文章

  • API 参考与帮助内容:一站式开发与使用者支援
    API文档API文档是旨在了解API详细信息的综合指南。通常,它们包括端点、请求示例、响应类别和示例以及错误代码等信息。API文档可帮助开发人员了解API端点的具体细节,并了解如何将API成功集成到他们的软件中。文档生成工具API文档生成工具是直接从源代码创建API文档的......
  • Vue3+TS+Vite中 vConsole 插件的使用
    vConsole一个轻量、可拓展、针对手机网页的前端开发者调试面板。vConsole是框架无关的,可以在Vue、React或其他任何框架中使用。现在vConsole是微信小程序的官方调试工具。https://gitee.com/Tencent/vConsole/ 平时在web应用开发过程中,我们可以console.log去输出一些......
  • 【python爬虫课程设计】大数据分析——共享单车使用量可视化分析
    一、选题的背景共享单车在当今社会中扮演着重要角色,对城市交通、环境、个人出行习惯等方面产生了显著影响。通过分析这些数据,可以了解共享单车对城市生活的影响,对交通拥堵、空气质量改善、促进健康出行提供便利。通过分析共享单车数据,可以了解技术创新在这一领域的应用情况,探索改......
  • python opencv保存摄像头视频为.mp4格式
     importcv2#0代表的是电脑上的默认摄像头cap=cv2.VideoCapture(0)#创建VideoWriter对象,第二个参数是帧率,第三个参数是视频的宽度和高度,第四个参数是输出视频的格式out=cv2.VideoWriter('output.mp4',cv2.VideoWriter_fourcc(*'mp4v'),20.0,(640,480))while(cap......
  • Spring Boot学习随笔- RestFul API(@RestController、@RequestBody、@PathVariable),使用
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第十六章、RestFulAPI什么是RESTREST全称是ResourceRepresentationalStateTransfer,中文意思是表述性状态转移,它首次出现在2000年RoyFielding的博士论文中,RoyFielding是HTTP规范的主要编写者之一。他在论文中表......
  • 软件测试/测试开发|Python selenium CSS定位方法详解
    简介CSS选择器是一种用于选择HTML元素的模式。它允许我们根据元素的标签名、类名、ID、属性等属性进行选择。CSS选择器的语法简单而灵活,是前端开发中常用的定位元素的方式。selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法。CSS定位有以下显著......
  • Python实战:从数据库到Excel的复杂查询结果处理【上】
    一、背景年底了,运营同学要做报告,于是来找我要数据,而数据来源于MySQL数据库的两个表,两个表中的数据无法一一对应,数据未能通过SQL直接查询出来,需要将表1中的查询结果传参到表2的查询SQL的条件中。数据量较大,若将查询结果复制到excel中,之后再去一一手动匹配的话,这工作量也是巨大的。于......
  • Java JDBC 详解、使用、连接池
    JDBC介绍Java数据库连接,JDBC(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。简单说,jdbc是Java语言为了屏蔽具体的具体的数据库操作的细节不同提供的一个框架。在关系型数据库的处......
  • Qt小技巧17.使用魔法数(Magic Number)
    1什么是魔法数?当使用QDataStream进行数据流读写时,魔法数(MagicNumber)是用于标识特定文件格式或数据结构的固定数值或字节序列。魔法数是一个固定的数值或字节序列,用于识别特定文件格式或数据表示方式,在读取操作中起到了一个检测标识的作用,可以帮助确定所读取的文件是否符合预......
  • v-for v-if不建议一起用 解决办法 使用 computed
    <el-table-columnv-for="(item,index)innewDynamicColumns":key="index":prop="item.prop":label="item.label":align="item.align":width=&qu......