1安装的链接

  • 装uiautomator2
    pip install --upgrade uiautomator2
    pip install pillow
  • 部署守护进程
    python -m uiautomator2 init
  • 装weditor UI查看器
    pip install -U weditor
    运行python -m weditor   #确保手机连接电脑,会自动安装一个atx调试器
  • 备注:每次启动时运行python -m uiautomator2 init 和 python -m weditor就可以了
  • 通过wifi连
    要求设备IP和pc在同一网络中
    import uiautomator2 as u2
    d = u2.connect(‘设备ip’)
    print(d.info)
  • 通过usb连
    import uiautomator2 as u2
    d = u2.connect(‘设备序列号’)
    print(d.info)
  • u2.connect()不带参数调用,uiautomator2将从环境变量中获取设备ip(ANDROID_DEVICE_IP),如果此环境变量为空,则uiautomator将退回到connect_usb,需要保证只有一台设备连接到电脑

Uiautomator2基础_xia@xia的博客-CSDN博客

2.打开手机屏幕

#coding=utf8
import uiautomator2 as u2
import time
import os,re #可以不用
import logging
import paopao_login
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(funcName)s - %(message)s')
logger = logging.getLogger(__name__)d = u2.connect('MQS7N19423008360')
print(d.info)def open():if d(resourceId="com.android.systemui:id/mask_top").exists:#获取屏幕锁屏的状态属性logger.info("处于锁屏状态")#打印处于锁屏状态d.screen_on()#把屏幕唤醒time.sleep(1)swipe()#调取滑动的函数else:print("当前非锁屏状态")  #当前非锁屏状态paopao_login.run_app() #启动app
def swipe():d.swipe_points([(452,2046), (0,375)], 0.05)#滑动屏幕logger.info("检测是否需要解锁图案锁")if d(resourceId="com.android.systemui:id/keyguard_fixed_length_pin_view").exists:#通过是否存在元素检测是否需要再次解锁   logger.info("需要解锁")d.click(851,1621)d.click(230,1644)d.click(521,1819)d.click(278,1392)d.click(521,1819)d.click(278,1392)time.sleep(1)if d(resourceId="com.huawei.android.totemweather:id/widget_time_hour").exists:#判断是否存在解锁后的页面上的元素logger.info("进入屏幕")paopao_login.run_app()else:logger.info("没有进入主屏幕")paopao_login.login_app()#如果已经在app里了。调用登录模块判断是否已经登录else:logger.info("解锁失败")
open()

3.编写登录模块

#coding=utf8
import uiautomator2 as u2
import time
import os,re #可以不用
import logginglogging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(funcName)s - %(message)s')
logger = logging.getLogger(__name__)d = u2.connect('MQS7N19423008360')#连接手机devices序列号
print(d.info)def run_app():d.app_start("com.xx.android")#打开程序if d.session("com.xx.android", attach=True):#判断程序是否打开logger.info("已打开程序")login_app()if d(resourceId="com.xx.android:id/login").exists(timeout=5):#exists:等待元素出现logger.info("当前是登录页面")login_app()try:#如果不是登录页面,尝试从最开始滑动开始print("从授权开始")d(text="始终允许").click(timeout=1)d(text="始终允许").click(timeout=1)d(text="始终允许").click(timeout=1)d(text="始终允许").click(timeout=1)d(text="同意").click()#以上为同意权限d.xpath('//android.widget.FrameLayout[1]').swipe("left")d.xpath('//android.widget.FrameLayout[1]').swipe("left")d.xpath('//android.widget.FrameLayout[1]').swipe("left")d(resourceId="com.thinksns.sociax.android.nic:id/btn_login").click(timeout=1)#以上为滑动页面login_app()#滑动后进入登录页面调取登录框except Exception as e:#如果报错抛出报错print(e)else:logger.info("打开程序出错")    def login_app():if d(resourceId="com.xx.android:id/email").exists:#判断登录框的元素是否存在d(resourceId="com.xx.android:id/email").set_text('xx')d(resourceId="com.xx.android:id/password").set_text('123456')try:d(resourceId="com.xx.android:id/login").click(timeout=10)#登录的时候等待10秒except Exception as e:print(e)if d(resourceId="com.xx.android:id/ntm_close"):#判断程序是否打开print("已找到弹出框")else:print("登录错误")else:logger.info("泡泡已经登录")#如果找不到元素,提示已经登录

4.非锁屏 登录的情况下运行的结果

uiautomator2+python3,实现手机解锁,以及软件登录相关推荐

  1. 值得拥有并收藏的 3个安卓/鸿蒙手机解锁软件

    手机无论支持哪种操作系统,都占据了每个人口袋里的空间.随着大量移动设备的使用,搜索引擎上也出现了同样数量的查询,其中最常见的是提供安卓/鸿蒙屏幕锁定删除工具.由于安卓是当今最畅销的设备,我们的首要任务 ...

  2. 4个顶级的华为/小米/OPPO/Vivo手机屏幕解锁工具软件

    有好几次用户发现自己被锁定在他们的华为/小米/OPPO/Vivo设备之外,我们知道这可能是一种非常可怕的体验.在这种情况下,找到安卓手机解锁软件,重新获得手机中重要数据和文件的访问权限.看看这篇文章, ...

  3. 手机解锁方法:8个顶级的 Android 手机解锁软件

    一般来说,太简单的密码是不安全的,所以我们设置一个安全的密码,可能会稍微复杂一点.然而,我们可能经常会忘记复杂的密码并锁定我们的 Android 智能手机. 8个顶级的 Android 手机解锁软件 ...

  4. 电脑上安装windows phone 8模拟器(wp8) 和wp8手机解锁 详细教程 wp7也适用

    以前久闻windows phone 手机盛名,不久前忍痛洒泪花了1899大洋,终于买了一部Nokia lumia 620.本机在淘宝有1600即可入手,我为了放心点选了天猫商城里的,还配了16G SD ...

  5. oppo售后解锁工具_魅族手机解锁密码忘了怎么办?

    魅族手机很多国内用户使用,主要是价格比较便宜而且功能繁多,关键是拍照还很漂亮,基本上和国内的小米.oppo这一类低端机有的一拼,魅族这手机密码如果忘记了该怎么办呢?怎么样解锁呢?今天蜜罐蚁装修网小编给 ...

  6. xiaomi5c手机解锁、刷机、打开开发者模式,打开root权限

    0.准备软件 1)使用手机xiaomi 5c 2)手机解锁工具 miflash_unlock 3)xiaomi 5c 开发包(Fastboot线刷包),和Fastboot刷机工具 1.解锁xiaomi ...

  7. vivo手机解锁工具_屏幕指纹优势凸显,vivo持续研发致力打造全屏指纹解锁

    指纹识别作为手机解锁的一种方式,以便捷的特性深受用户喜爱.尤其在智能机时代,指纹识别的优势更加突出,通过指纹进行账户登陆.指纹支付免去了输入密码的反锁操作,让手机使用更安全. 大胆创新,通过技术改变手 ...

  8. vivo手机解锁工具_点燃解锁的多一份激情,vivo NEX双屏版解锁体验报告

    随着智能手机的兴起,手机解锁方式得到了十足的长进,从当初的数字到图案.进化到如今的面部.屏下指纹解锁,技术的迭代促进安全层面的升级,带来更加便捷的解锁体验的同时也保证了解锁的安全.在2017年iPho ...

  9. bilibili有电脑版吗_哪个手机便签软件有电脑版?有跨平台的桌面便签软件吗 - 学显...

    如果仔细观察的话,你会发现:现在很多手机桌面上都有一款名叫"便签"的app小软件.其实,这是手机系统自带的一款备忘小工具,是为了方便用户记事而设计的.也就是说,平时如果有什么事儿需 ...

  10. android 炫酷3d主页,五款超酷安卓手机3D桌面软件合辑推荐

    3D桌面一直以来都是备受大家青睐的东西,没办法,3D桌面主题既绚丽又实用,没人会不喜欢.3D桌面给人们展示的是一个不同维度的世界,人们会感觉更立体.更逼真,色彩效果也会更加灿烂,给我们以非常好的视觉享 ...

最新文章

  1. 最短路径问题经典题目汇总
  2. SMTP身份验证(LOGIN、PLAIN、CRAM-MD5)
  3. 802.11协议基础
  4. 手势模型和Angular Material的实现
  5. 就算忘了自己也忘不了你
  6. 接收xml参数_SpringBoot实战(二):接收xml请求
  7. 使用值类型LazyString分析字符串
  8. swagger中参数为数组dataType的设置
  9. Array和ArrayList的区别与联系
  10. java 1.6 jre 下载_jre1.6 64位官方下载
  11. 关于矩阵乘法的记忆方法
  12. spss中有关独立样本T检验的详细介绍(包含操作过程和结果分析)
  13. 产品经理如何更优商业思维
  14. OpenLayers禁用鼠标双击放大事件
  15. php怎么使用sendcloud,PHP开发之SendCloud发送邮件知几何
  16. 解决光纤猫恢复出厂功能后的上网问题
  17. 快速准时安全放心,顺丰黄金派送服务受认可
  18. Windows10 SVG转PDF
  19. PS2 键盘在win10下开机过程 收发的数据
  20. python 日历壁纸_Excel+Python=精美DIY壁纸日历

热门文章

  1. DSHOT600电调协议Verilog
  2. 最强 IDE,Visual Studio 2017 正式版发布
  3. 用Git从Github上clone项目到Pycharm
  4. 1、Python学习笔记第一课:python介绍
  5. python如何计算平方_Python lmfit如何计算R平方?
  6. 消息称勒索软件可逃避PC防御、Office漏洞补丁能被攻击者绕过|12月24日全球网络安全热点
  7. 解构destruct
  8. 强强联合,跨界而来,2022苏州元宇宙大会重启!
  9. 如何学习安卓软件开发?(转自知乎)
  10. excel 2010 指定x轴y轴数据 画折线图