uiautomator2+python3,实现手机解锁,以及软件登录
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,实现手机解锁,以及软件登录相关推荐
- 值得拥有并收藏的 3个安卓/鸿蒙手机解锁软件
手机无论支持哪种操作系统,都占据了每个人口袋里的空间.随着大量移动设备的使用,搜索引擎上也出现了同样数量的查询,其中最常见的是提供安卓/鸿蒙屏幕锁定删除工具.由于安卓是当今最畅销的设备,我们的首要任务 ...
- 4个顶级的华为/小米/OPPO/Vivo手机屏幕解锁工具软件
有好几次用户发现自己被锁定在他们的华为/小米/OPPO/Vivo设备之外,我们知道这可能是一种非常可怕的体验.在这种情况下,找到安卓手机解锁软件,重新获得手机中重要数据和文件的访问权限.看看这篇文章, ...
- 手机解锁方法:8个顶级的 Android 手机解锁软件
一般来说,太简单的密码是不安全的,所以我们设置一个安全的密码,可能会稍微复杂一点.然而,我们可能经常会忘记复杂的密码并锁定我们的 Android 智能手机. 8个顶级的 Android 手机解锁软件 ...
- 电脑上安装windows phone 8模拟器(wp8) 和wp8手机解锁 详细教程 wp7也适用
以前久闻windows phone 手机盛名,不久前忍痛洒泪花了1899大洋,终于买了一部Nokia lumia 620.本机在淘宝有1600即可入手,我为了放心点选了天猫商城里的,还配了16G SD ...
- oppo售后解锁工具_魅族手机解锁密码忘了怎么办?
魅族手机很多国内用户使用,主要是价格比较便宜而且功能繁多,关键是拍照还很漂亮,基本上和国内的小米.oppo这一类低端机有的一拼,魅族这手机密码如果忘记了该怎么办呢?怎么样解锁呢?今天蜜罐蚁装修网小编给 ...
- xiaomi5c手机解锁、刷机、打开开发者模式,打开root权限
0.准备软件 1)使用手机xiaomi 5c 2)手机解锁工具 miflash_unlock 3)xiaomi 5c 开发包(Fastboot线刷包),和Fastboot刷机工具 1.解锁xiaomi ...
- vivo手机解锁工具_屏幕指纹优势凸显,vivo持续研发致力打造全屏指纹解锁
指纹识别作为手机解锁的一种方式,以便捷的特性深受用户喜爱.尤其在智能机时代,指纹识别的优势更加突出,通过指纹进行账户登陆.指纹支付免去了输入密码的反锁操作,让手机使用更安全. 大胆创新,通过技术改变手 ...
- vivo手机解锁工具_点燃解锁的多一份激情,vivo NEX双屏版解锁体验报告
随着智能手机的兴起,手机解锁方式得到了十足的长进,从当初的数字到图案.进化到如今的面部.屏下指纹解锁,技术的迭代促进安全层面的升级,带来更加便捷的解锁体验的同时也保证了解锁的安全.在2017年iPho ...
- bilibili有电脑版吗_哪个手机便签软件有电脑版?有跨平台的桌面便签软件吗 - 学显...
如果仔细观察的话,你会发现:现在很多手机桌面上都有一款名叫"便签"的app小软件.其实,这是手机系统自带的一款备忘小工具,是为了方便用户记事而设计的.也就是说,平时如果有什么事儿需 ...
- android 炫酷3d主页,五款超酷安卓手机3D桌面软件合辑推荐
3D桌面一直以来都是备受大家青睐的东西,没办法,3D桌面主题既绚丽又实用,没人会不喜欢.3D桌面给人们展示的是一个不同维度的世界,人们会感觉更立体.更逼真,色彩效果也会更加灿烂,给我们以非常好的视觉享 ...
最新文章
- 最短路径问题经典题目汇总
- SMTP身份验证(LOGIN、PLAIN、CRAM-MD5)
- 802.11协议基础
- 手势模型和Angular Material的实现
- 就算忘了自己也忘不了你
- 接收xml参数_SpringBoot实战(二):接收xml请求
- 使用值类型LazyString分析字符串
- swagger中参数为数组dataType的设置
- Array和ArrayList的区别与联系
- java 1.6 jre 下载_jre1.6 64位官方下载
- 关于矩阵乘法的记忆方法
- spss中有关独立样本T检验的详细介绍(包含操作过程和结果分析)
- 产品经理如何更优商业思维
- OpenLayers禁用鼠标双击放大事件
- php怎么使用sendcloud,PHP开发之SendCloud发送邮件知几何
- 解决光纤猫恢复出厂功能后的上网问题
- 快速准时安全放心,顺丰黄金派送服务受认可
- Windows10 SVG转PDF
- PS2 键盘在win10下开机过程 收发的数据
- python 日历壁纸_Excel+Python=精美DIY壁纸日历