【python】自动化连接和操作手机微信

【python】自动化连接和操作手机微信

2023年6月26日发(作者:)

【python】⾃动化连接和操作⼿机微信⽂章⽬录1. 环境配置JDKAndroid SDKAppiumMuMu1.1. JDK1.1.1. 下载安装去华为云镜像下载JDK,我下载的版本是:1.1.2. 环境变量1、环境变量->系统变量->新建:变量名JAVA_HOME,变量值D:Program FilesJavajdk1.8.0_1812、环境变量->系统变量->Path->编辑->编辑⽂本:在变量值末尾添加%JAVA_HOME%bin;%JAVA_HOME%jrebin;1.2. Android SDK1.2.1. 下载解压1、下载SDK Tools,我下载的版本是android-sdk_,把解压出来的android-sdk-windows⽂件夹放到D:Program Files⽬录下。2、下载SDK Platform-Tools,我下载的版本是platform-tools_,把解压出来的platform-tools⽂件夹放在D:Program Filesandroid-sdk-windows⽬录下。3、下载Build-Tools,我下载的版本是,解压后将21.1.2⽂件夹放到D:Program Filesandroid-sdk-windowsbuild-tools⽬录下。1.2.2. 环境变量1、环境变量->系统变量->新建:变量名ANDROID_HOME,变量值D:Program Filesandroid-sdk-windows2、环境变量->系统变量->Path->编辑->编辑⽂本:在变量值末尾添加%ANDROID_HOME%tools;%ANDROID_HOME%build-tools21.1.2;%ANDROID_HOME%platform-tools;1.3. Appium1.3.1. 下载解压从上述github地址下载Appium,我下载的版本是,⽆需安装,解压即可。1.3.2. 编辑配置1、双击运⾏软件,点击编辑配置2、它这⾥已经把我们之前配置的JAVA_HOME和ANDROID_HOME⾃动补上了,我们就不⽤填了,如果没有,请再填⼀下1.3.3. 模块安装pip install appium-python-client1.4. MuMu从官⽹下载并安装⽹易MuMu模拟器(⾮⼿游助⼿)。安装模拟器后,去应⽤中⼼下载并安装微信,然后登录。2. 连接模拟器打开cmd控制台,输⼊命令adb connect 127.0.0.1:7555即可连接模拟器。Microsoft Windows [版本 10.0.18363.1198](c) 2019 Microsoft Corporation。保留所有权利。C:Usersghgxj>adb connect 127.0.0.1:7555connected to 127.0.0.1:75553. 启动服务器1、点击启动2、启动成功3、要⼀直保持Appium服务器运⾏,不能将它的窗⼝关闭4. 启动微信获取微信的appPackage和appActivity:1、在mumu中打开并登录微信,然后cmd中运⾏下⽅命令:adb shell dumpsys activity recents | find "intent={"2、找到cmp=/.erUI3、/前⾯的就是appPackage4、/后⾯的.erUI是appActivity5、这两个参数我们写python代码的时候会⽤到5. 连接测试mumu中先关闭微信窗⼝,然后运⾏下⽅代码的同时观察mumu模拟器,如果微信启动则说明连接成功。from appium import webdrivercaps = { "platformName": "Android", "deviceName": "emulator-5554", "platformVersion": "6.0.1", "appPackage": "", "appActivity": ".erUI", "noReset": "True", "unicodeKeyboard": "True", "resetKeyboard": "True"}driver = ('127.0.0.1:4723/wd/hub', caps)6. 微信编程既然已经能通过python代码连接微信了,下⾯我们来操作微信实现⼀个简单的通过微信号添加好友的功能。6.1. 具体流程1. 点击⊕号2. 点击添加朋友3. 点击搜索框4. 输⼊微信号5. 点击搜索6. 点击名⽚7. 点击添加到通讯录8. 点击发送6.2. 完整代码from appium import webdriverimport time# 连接⼿机微信caps = { "platformName": "Android", "deviceName": "emulator-5554", "platformVersion": "6.0.1", "appPackage": "", "appActivity": ".erUI", "noReset": "True", "unicodeKeyboard": "True", "resetKeyboard": "True"}driver = ('127.0.0.1:4723/wd/hub', caps)# 发送好友申请try: (10) print('点击⊕号') _element_by_id(':id/ef9').click() (5) print('点击添加朋友') _elements_by_id(':id/gam')[1].click() (5) print('点击搜索框') _element_by_id(':id/f98').click() (5) print('输⼊微信号') _element_by_id(':id/bhn').send_keys('wxhghgxj') (5) print('点击搜索') _element_by_id(':id/f94').click() (5) print('点击名⽚') _element_by_id(':id/az_').click() (5) print('点击添加到通讯录') _element_by_id(':id/g6f').click() (5) print('点击发送') _element_by_id(':id/ch').click()except Exception as e: print(e)6.3. 元素定位从代码中不难发现,问题的关键是元素定位,我们⼀般通过元素id来定位,⽐如我们在微信中找⼀下⊕。1、点击搜索2、JSON Representation中输⼊:{ "platformName": "Android", "deviceName": "emulator-5554", "platformVersion": "6.0.1", "appPackage": "", "appActivity": ".erUI", "noReset": "True", "unicodeKeyboard": "True", "resetKeyboard": "True"}3、点击启动会话4、⿏标移动到⊕,可以看到元素的id是:id/ef95、然后再通过以下代码即可实现元素的定位和点击_element_by_id(':id/ef9').click()7. 引⽤参考8. 温馨提⽰本⽂所有安装包+代码下载地址:天翼云盘 (⼒荐):坚果云盘 (推荐):微软云盘 (推荐):百度⽹盘 (限速):

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687752953a39460.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信