换台电脑python使用uiautomator2操作逍遥模拟器

2023-09-22 11:12:15

前几天写了一篇文章python使用uiautomator2操作雷电模拟器_小小爬虾的博客-CSDN博客

今天用另外一个环境和模拟器再次测试。

环境如下:win7 sp1 64位;Python3.8.10;逍遥模拟器9.0.6;android版本9;逍遥模拟器自带adb版本1.0.41

一、首先将手机(模拟器)进入开发者模式。 多次点击版本号即可以打开开发者模式。

二、安装uiautomator2库

cmd进入pip3的路径cd C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts后运行:

pip3 install -U uiautomator2
pip3 install -U weditor==0.6.4

安装成功后,pycharm输入如下代码就应该没问题了(不会报找不到库的错误):

import uiautomator2 as u2
 
d = u2.connect() # connect to device
print(d.info)

三、将包含httprpc服务的apk推送到手机(模拟器)上,安装成功后是一个小汽车的图标。

1、使用adb将电脑与模拟器相连

cmd
g:
cd G:\xiaoyao\Microvirt\MEmu
adb.exe kill-server
adb connect 127.0.0.1:21503(逍遥模拟器端口:21503)
adb devices

运行截图如下:

 

2、运行python3 -m uiautomator2 init安装推送包含httprpc服务的apk到手机 ,一次性成功(不像我的另一篇文章python使用uiautomator2操作雷电模拟器_小小爬虾的博客-CSDN博客安装那么曲折)

3、在pycharm中运行代码

可能首先需要在手机(模拟器)上操作启动uiautomator2,然后再在pycharm中运行代码。

import uiautomator2 as u2
 
d = u2.connect() # connect to device
print(d.info)

 运行成功,返回在模拟器上正在运行的APP的包名。

 

三、测试weditor

在上篇文章(雷电模拟器)中,用win+r打开运行,输入weditor,即可运行它。

但本文中,显示如下错误:

 经过搜索,找到weditor.exe在如下路径中:

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts

应该将其加入环境变量就可以了(注意写环境变量的路径时候,路径的最后不要带\)。参考这篇python使用execjs利用jsdom来执行含有document的js代码方案(上)_小小爬虾的博客-CSDN博客

 运行weditor.exe后,会自动打开一个网页页面,输入手机(模拟器)的名称,点击Connect,然后拨弄下静态(实时)按钮,就可以看到手机(模拟器)的画面了(如果实时造成左侧虚线划分定位混乱的话,拨到静态等一会,再拨回实时就好了。手机操作每一个画面后,若想虚线准确,都需要如此操作)。

更多推荐

Zabbix“专家坐诊”第204期问答汇总

问题一Q:请问自动发现如何配置?A:在Zabbix中配置自动发现,可以使用以下步骤:登录到Zabbix的Web界面。确保您具有管理员或具有适当权限的用户角色。导航到“配置”菜单,然后选择“自动发现”。点击“创建自动发现”按钮。在“名称”字段中,输入自动发现规则的名称。在“新发现设备”字段中,选择要在自动发现过程中创建设

【Python】PySpark 数据处理 ② ( 安装 PySpark | PySpark 数据处理步骤 | 构建 PySpark 执行环境入口对象 )

文章目录一、安装PySpark1、使用pip安装PySpark2、国内代理镜像3、PyCharm中安装PySpark二、PySpark数据处理步骤三、构建PySpark执行环境入口对象四、代码示例一、安装PySpark1、使用pip安装PySpark执行Windows+R,运行cmd命令行提示符,在命令行提示符终端中,

计算机网络篇之IPV4数据报格式

计算机网络篇之IPV4数据报格式structiphdr{uint8_tversion:4;//4位版本字段表示Internet标头的格式,ipv4值是4uint8_tihl:4;//4位因特网报头长度,ip报头中32位字的数量uint8_ttos;//服务类型字段,该字段传达IP数据报的服务质量,源于第一个IP规范,在

【从0学习Solidity】 3. 函数详解

【从0学习Solidity】3.函数详解博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于不写代码没饭吃的学习汇报系列,大家有兴趣的

SpringBoot整合Activiti7——代理/候选人/候选组(四)

文章目录一、代理人二、候选人三、候选组四、组任务办理流程五、UEL表达式UEL-valueUEL-methodUELmethod结合value一、代理人一个用户任务只允许有一个代理人。为一个任务分配代理人后act_ru_task表的ASSIGNEE_字段会被设置为响应的值。审批任务设置assignee变量,表示是该任务

GaussDB技术解读系列:性能调优

近日,在第14届中国数据库技术大会(DTCC2023)的GaussDB“五高两易”核心技术,给世界一个更优选择专场,华为数据库技术专家李士福详细解读了GaussDB性能调优的相关技术和应用实践。本篇为大家分享GaussDB性能调优的实践。主要包括三个部分,分别是性能调优的整体介绍,性能调优的关键技术,性能调优的应用实践

5.14 Set Feature Command

5.14SetFeatureCommandSetFeatureCommand规定了Feature的属性。SetFeatureCommand使用datapointer,CommandDword10,CommandDword11,CommandDword12,CommandDword13,CommandDword14和Co

B : DS顺序表--连续操作

Description建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)该类具有以下成员函数:构造函数:实现顺序表的初始化。插入多个数据的multiinsert(inti,intn,intitem[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据

vue3+element项目创建

一、创建vue3项目步骤要创建一个Vue3+ElementUI的项目,你可以按照以下步骤进行操作:1.确保你已经安装了Node.js和npm(Node.js的包管理器)。你可以在命令行中运行以下命令来检查它们是否已经安装:node-vnpm-v2.使用VueCLI来创建一个新的Vue项目。在命令行中运行以下命令:npm

一花落,万物生,AIGC为国货复兴注入新活力

在最近的商业新闻中,国货们发“花难财”的热度持续在涨,“花西子”曾经是中国国货的代表之一,以其独特的美妆产品而闻名于世。然而,近期因为李佳琦“79块钱哪里贵了”事件的原因,让不少网友扒出这支79的眉笔算下来一克竟要比黄金还贵,加上主播的出言嘲讽消费者,让大家纷纷开始抵制这个产品。“花西子”翻车之后,国货品牌在一夜之间占

【湖科大教书匠】计算机网络随堂笔记第1章(计算机网络概述)

目录1.1、计算机网络在信息时代的作用我国互联网发展状况1.2、因特网概述1、网络、互连网(互联网)和因特网2、因特网发展的三个阶段因特网服务提供者ISP(InternetServiceProvider)基于ISP的三层结构的因特网3、因特网的标准化工作4、因特网的组成边缘部分核心部分C/S和P2P:客户-服务器方式:

热文推荐