前几天写了一篇文章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,然后拨弄下静态(实时)按钮,就可以看到手机(模拟器)的画面了(如果实时造成左侧虚线划分定位混乱的话,拨到静态等一会,再拨回实时就好了。手机操作每一个画面后,若想虚线准确,都需要如此操作)。