用Python实现一个简单的微信聊天机器人

   日期:2024-12-23    作者:ira0v 浏览:95    移动:http://w.yusign.com/mobile/quote/2744.html

刚学习Python,做点小玩意练练手( ̄▽ ̄)~*

文章目录

目录

一、准备工作

二、环境搭建

1. 安装安卓工具

2. UIAutomator2安装

3. 配置手机环境 

4. 安装weditor

三、程序分析

1. 连接手机

2. 启动weditor

3. 整理思路

四、代码实现

五、效果展示

总结


        IDE:pycharm2019

        Python:3.7

        还有安卓手机一台(_-)

        代码git

    首先进入,下载对应的SDK工具,这里我使用的是android-sdk_r24.4.1

 下载完之后解压,打开SDK Manager,安装对应的工具PS:这里我就直接无脑下一步

 安装完之后,配置一下环境变量,在cmd界面输入“adb” 来判断安装是否成功

这样,SDK就装好了

      直接执行以下命令进行安装

 

    手机用USB连接电脑,手机端开启usb调试。cmd输入adb devices

 如果出现 device,则是授权成功。如果出现 unauthorized 则是未授权,需要手机授权 

 连接成功之后cmd输入命令,安装atx-agent至手机

 

出现下图则安装成功,手机端会出现一个ATX的app

由于自带的SDK工具无法输入中文,所以还需要一个插件adbkeyboard.apk进行支持

     这个插件可以让我们像定位网页元素那样定位手机端元素,执行以下命令进行安装

 

    安装成功之后,使用以下命令启动

 

    启动成功后,效果如下

环境总算搭好了,接下来万事俱备,只欠东风了

       连接手机主要有两种方式,一种是通过USB进行连接,还有一种就是通过WiFi连接        

   USB连接

           这个比较简单,只要一个数据线,然后手机开启USB调试就行了

    WiFi连接

           首先手机和电脑连接同一个WiFi,然后执行以下命令

 

           再执行以下命令查看

 

          出现这样既成功了

    直接执行以下命令即可

 

    启动成功后如下

        开始写代码之前,先来理一下思路,主要分以下几步

  1. 打开微信
  2. 寻找联系人
  3. 打开对话框
  4. 获取回复内容
  5. 做出应答

    先来看下第一步,打开微信,这个比较简单,只要获取到微信的包名就行了,执行以下命令

 

   结果如下

   拿到包名就好办了,直接在weditor运行代码

 

   效果如下

 oh,忘了自己有应用分身了 ̄へ,得多加一步了,如果没有分身的话,应该可以直接打开了。用weditor定位到要打开的微信,双击会自动生成代码

第一步打开微信,完成后,接下来看如何打开对话框。其他跟上边的也差不多。如法炮制,这里就直接定位第一个联系人了,先定位元素

 在双击

 这样打开聊天框也完成了,接来下就是获取回复内容了,这个比较麻烦一点。主要有两个问题一个是如何区分是对方的消息,还有一个就是如何获取回复的内容。我们先来看第一个问题

   对比了两个,发现只有中间的数字不一样,那这个数字代表什么呢,我们数一下当前屏幕上的聊天记录,正好是10条,所以索性猜测是聊天条数 。

   再看下两个节点的坐标,是否可以用坐标进行判断呢?还有个问题,如果遇到超长的怎么办?我们可以取元素的中心坐标,再和手机屏幕中心坐标比较,这样只要不撑满整个宽度,貌似就行了。来做一下实验验证一下

 看下结果貌似可以哦

 获取对方回复元素后,就可以准备获取回复内容。我们惊奇的发现一件事,元素的text竟然是空的

 额,这就难办了,获取不到内容咋回复。咦,双击了一下。发现可以放大诶

 山穷水复疑无路,柳暗花明又一村。赶紧试试能不能取得到值,如下

哦耶!获取到内容后,只剩最后一步了,就是回复消息了

首先设置我们之前安装的输入法,如下

  编写代码测试一下

 

 效果如下:

 好了,终于解决了所有问题,接下来就是实现了( ̄▽ ̄)~*

    这里只是简单的重复一句话,直到获取正确的回答PS:本来想接入图灵机器人的,结果发现要钱的,就放弃了(╥╯^╰╥))。完整的代码如下

 
 
 
 
 


        这里uiautomator2可能存在定位不准和点击过快的问题,这里就要大家自己去试了。

本文地址:http://w.yusign.com/quote/2744.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号