版权声明:禁止转载至其它平台,转载至博客需带上此文链接。 https://blog.csdn.net/qq_41841569/article/details/86064239
这里使用安卓模拟器自动实现qq登录,并且发一条说说,教程开始之前要安装好python开发环境:在win7和ubuntu系统安装Python开发环境,和安卓模拟器:使用夜神安卓模拟器创建安卓虚拟机
安装完成,就首先打开Pycharm新建python项目,最好是在虚拟环境下面进行的,不影响系统的配置,hello.py就是写代码的,pwd是读取密码
建好项目,在命令行安装需要用的环境,
uiautomator2,pillow 这两个模块,在Pycharm的Terminal命令窗口用pip安装,这个在安装python环境的时候默认安装了的,
1#两条安装的命令,依次输入 2pip install --upgrade --pre uiautomator2 3 4pip install pillow
安装好依赖模块,还要在本地模拟器的adb做关联文件的安装,用python -m uiautomator2 init 测试已连接的所有设备。
初始化这时候会自动安装这几个文件,因为有些文件是要连接github会出现不稳定的情况,多尝试几次就好,出现图片的界面,就说明初始化成功了。
uiautomator-server、
atx-agent、
openstf/minicap、
openstf/minitouch
打开Pycharm这时候还要安装一个叫weditor
的模块,同样使用pip安装,
1pip install -U weditor
命令行启动 python -m weditor 会自动打开浏览器,输入设备的ip或者序列号,点击Connect即可,在代码需要用到模拟器的属性。
在hello.py需要写的逻辑代码:
import uiautomator2 as u2 def funpwd(): # 这里是获取QQ的密码,在pwd.txt文件保存,下面的文件路径也要做对应的修改。 f = open(r"C:UsersAdministratorPycharmProjects estpwd.txt", "r") txt = f.read() f.close() return txt pwd = funpwd() # 这里要根据具体情况修改IP地址 d = u2.connect('192.168.0.103') d(text="QQ").click() d(text="登 录").click() d(text=u"QQ号/手机号/邮箱").set_text("1922820882") d(resourceId="com.tencent.mobileqq:id/password").set_text(pwd) d(resourceId="com.tencent.mobileqq:id/login").click() d(text="动态").click() d(text="好友动态").click() d(description=u"说说,").click() d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鲜事…").click() d(resourceId="com.tencent.mobileqq:id/name", text=u"分享新鲜事...").set_text("Hello ") d(resourceId="com.tencent.mobileqq:id/ivTitleBtnRightText").click() d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click() d(resourceId="com.tencent.mobileqq:id/ivTitleBtnLeft").click()
现在就是直接运行hello.py,再看模拟器就可以有效果。
因为是模拟器的缘故,有些操作会跟真实机器有很大区别,这里是uiautomator2官方的gihub地址,有很多功能都可以尝试。https://github.com/openatx/uiautomator2