当前位置:首页 > 编程笔记 > 正文
已解决

python使用uiautomator2操作真机

来自网友在路上 159859提问 提问时间:2023-09-28 00:54:15阅读次数: 59

最佳答案 问答题库598位专家为你答疑解惑

测试环境: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 u2d = u2.connect() # connect to device
print(d.info)

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

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

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

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

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

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

import uiautomator2 as u2d = 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()

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"python使用uiautomator2操作真机":http://eshow365.cn/6-14937-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!