python使用uiautomator2操作真机

news2024/11/20 0:48:48

测试环境:win10 64位,python3.10.4;真机,荣耀10青春版,Android版本10。

之前是在手机模拟器上操作的,参考我的文章python使用uiautomator2操作雷电模拟器_小小爬虾的博客-CSDN博客

一、将手机设置为开发者模式

1、设置-关于手机-在“版本号”上连续点击即可进入开发者模式

2、设置-系统和更新-开发人员选项-打开“USB调试”和打开“仅充电模式下允许ADB调试”

二、将手机用USB线连接电脑,手机上弹出对话框,选择信任此电脑

三、使用adb连接手机

我尝试使用雷电模拟器自带的adb来连接,其路径cd D:\leidian\LDPlayer4,进入路径后,直接adb devices即显示出了连接手机的情况(没想到会这么顺利),记录下串号Q7PRX19227005773,后面会用到。

 

四、 运行python3 -m uiautomator2 init安装包含httprpc服务的apk到手机

进入路径cd C:\Users\LC\AppData\Local\Programs\Python\Python310\, 输入python3 -m uiautomator2 init,注意手机上要同意继续安装(会有两次提醒)

在这台win10电脑操作时,仍然出现模拟器上的错误:

这次就不慌了。这是因为adb占用了5037端口。在任务管理器中结束adb进程。手机上卸载小汽车。重新python3 -m uiautomator2 init后就安装成功了,如下图。

五、运行测试代码

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

六、win+r打开运行,运行weditor

输入手机设备号,点击Connect,然后拨弄几次静态和实时,真机上的画面就呈现在页面上了。

在打开某个APP的情况下,再次运行测试代码,就能显示出目前APP的包名:

至此,就可以开始编写更详细的代码来控制操作手机了。 

备注:之后再真机连接电脑,有可能需要先在手机上点击“小汽车”图标,然后点击“启动UIAUTOMATOR”,才能正常开展工作。

接下来写一段签到并领取某鱼币的小代码,实测可用:

import uiautomator2 as u2

d = u2.connect() # connect to device
print(d.info)
d.app_start('com.taobao.idlefish')
d.implicitly_wait(5)

#点击签到
d(resourceId="com.taobao.idlefish:id/right_title_view_lottie").click()

#点击领取
elem=d.xpath('//*[@content-desc="点击领取"]')
elem.click()

# elem=d.xpath('//*[@content-desc="100币"]/android.view.View[1]')
# elem.click()

elem_ok=d.xpath('//*[@content-desc="知道了"]')
elem_ok.click()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1046457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

任务执行大数据量与高并发方案

大数据量高并发任务解决方案 场景 每个任务有十万条以上的数据,任务执行过程中对这些数据逐条做分析处理。 在同一段时间,会出现任务高并发执行,导致内存溢出 解决方案 1、分批处理 任务执行过程中,不一次性读取全量数据&…

将切分的图片筛选出有缺陷的

将切分的图片筛选出有缺陷的 需求代码 需求 由于之前切分的图像有一些存在没有缺陷,需要再次筛选 将可视化的图像更改后缀 更改为xml的 可视化代码 可视化后只有7000多个图像 原本的图像有1W多张 代码 # 按照xml文件删除对应的图片 # coding: utf-8 from P…

Java比较器之equals、comparable、comparator

文章目录 前言一、基本类型比较1.2.equals3.和equals的区别 二、对象的比较1.覆写基类的equals2.基于Comparable接口类的比较3.基于Comparator比较器比较4.三种方式对比 前言 在Java中,基本类型的对象可以直接比较,而自定义类型,默认是用equ…

秋招面经记录

秋招面经记录 MySQLRedis项目分布式框架java网络数据结构设计模式HR手撕 MySQL Mysql中有1000万条数据,每次查询10条,该如何优化(答:Limit子查询优化) select t.* from t_topic t LIMIT 90000,10; 对上面的mysql语句说…

【Java 进阶篇】数据定义语言(DDL)详解

数据定义语言(DDL)是SQL(结构化查询语言)的一部分,它用于定义、管理和控制数据库的结构和元素。DDL允许数据库管理员、开发人员和其他用户创建、修改和删除数据库对象,如表、索引、视图等。在本文中&#x…

【C++杂货店】类和对象(上)

【C杂货店】类和对象(上) 一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装4.1 访问限定符4.2 封装 五、类的作用域六、类的实例化七、类对象模型7.1 类对象的存储规则7.2 例题7.3结构体内存对齐规则 八、this指针8.2 t…

【Spring Cloud】认识微服务架构,拆分简单的 Demo 实现服务的远程调用

文章目录 前言一、认识微服务1.1 服务架构的演变:从单体到微服务单体架构分布式架构微服务架构 1.2 微服务技术的对比:Dubbo、Spring Cloud、Spring Cloud Alibaba技术对比公司需求的选择 1.3 Spring Cloud:微服务框架的精华什么是 Spring Cl…

【Vue.js】使用ElementUI实现增删改查(CRUD)及表单验证

前言: 本文根据上篇实现数据表格(查所有)完善增删改功能,数据表格》查看数据表格的实现链接 一,增删改查 ①后端Controller(增删改查方法): package com.zking.ssm.controller;import com.zking.ssm.model.Book; import com.z…

新能源汽车行业出口ERP管理解决方案

中国汽车企业以史无前例的规模进军慕尼黑车展。本届展会,中国汽车参展企业数量达50家,是2021年的两倍。欧洲销售的新型电动汽车中,8%由中国品牌制造。2022年上半年,中国电动汽车的平均价格不到3.2万欧元(3.5万美元&…

香港云服务器和日本云服务器哪个好?(详细对比)

​  购置海外服务器时,您是在乎网络速度?价格?稳定性?当这几个因素同时存在,我们该如何选择?本篇针对海外热门的两个地区,中国香港和日本,这两种云服务器谁优谁劣?各有什么亮点?逐一进行对比分析。 一、速度上来看 中国香…

Tungsten Fabric数据量过大问题处理初探

开源SDN系统Tungsten Fabric面临数据产生过多问题。 经排查,产生数据多出自analytics组件的Cassandra数据库()。很多分析数据会存储至Cassandra库,并持久化处理。 没有特殊调整的话,目录在 /var/lib/docker/volumes/analytics_database_an…

春招秋招,大学生求职容易遇到哪些问题?

每到毕业季就有大批大学生从校园出来,他们怀抱梦想,希望能做出一番成绩。但现实总归是残酷的,有些人找不到工作,有一些人频繁跳槽,也有一些人最终找到的工作与自己的专业没有一点关系,迷茫好几年才找到方向…

数字音频工作站FL Studio 21中文版下载及电音编曲要用乐理吗 电音编曲步骤

FL Studio 21是一款强大的数字音频工作站(DAW)软件,为您提供一个完整的软件音乐制作环境。它是制作高质量的音乐、乐器、录音等的完整解决方案。该程序配备了各种工具和插件,帮助你创建专业的虚拟乐器,如贝斯、吉他、钢…

探索Moonbeam路由流动性的强大功能

Moonbeam的GMP预编译作为MRL的接口,有助于将带有Token的消息从GMP协议(通过XCMP)传输到与Moonbeam链接的平行链。 为何是个重磅消息?因为这项技术使得将流动性从外部区块链转移到其他波卡平行链成为可能! 这里补充一…

快手商品详情数据接口

快手商品详情数据接口的调用需要使用快手提供的API接口。API接口是一种程序之间进行交互的方式,它允许两个程序或者网页之间互相通信、交换数据。 快手API接口的具体使用方法和步骤需要您参考快手的官方文档或者开发者指南。在使用快手API接口时,您需要…

基于遗传算法解决的多仓库多旅行推销员问题(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【Python基础】if __name__ == ‘__main__‘:和assert函数

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

day49 jdbc技术

一、概述 什么是JDBC Java DataBase COnnectivity Java 数据库连接 其实就是利用Java程序连接并访问数据库的一种技术 为什么要学习JDBC 之前我们是通过终端,或者第三方工具直接连接数据库 在企业开发中,更多的是通过程序来连接数据库的 未来学习的M…

docker部署MinIO集群

docker部署MinIO集群 1 拉取镜像 docker pull minio/minio:RELEASE.2023-08-16T20-17-30Z 2 启动集群节点命令 注意:要对配置文件中使用到的文件夹进行授权 version: 3 # 公共操作 x-minio-common: &minio-commonimage: minio/minio:RELEASE.2023-08-16T20-17…