作者:il_持之以恒_li

https://blog.csdn.net/qq_45404396/article/details/112750110

前言

近段时间,看了一下运用python实现app自动化的视频,觉得那上面的讲的不错,于是就用所学的知识做了一个程序,实现自动回复QQ消息。

1. 准备工作

1.1 安装client模块

打开命令窗口,输入命令:pip install appium-python-client

1.2 安装Appium Server

下载网址为:http://appium.io

1.3 安装JDK

安装好之后,添加环境变量JAVA_HOME,指定jdk的安装目录,小编为:

1.4 安装android sdk

添加一个环境变量ANDROID_HOME,设置值为sdk包的解压目录,小编为:

另外,最好在path里面添加adb.exe的环境变量

1.5 投屏软件

小编用的是米卓同屏助手,下载网址为:https://cn.mirroid.com

2. 连接手机

小编用的USB连接,需要一条数据线,将手机和电脑端连接起来,同时需要打开手机的开发者模式。

那么怎样打开开发者模式,以小编的手机为例(OPPO手机)来到手机设置,点击关于手机,之后一直点击版本号,当出现以下字样即可。

然后进入其他设置(不同手机可能不同),就可以看到这里多了一个开发者选项了。

进入开发者选项,然后打开,可以发现这里有一个USB调试的开关,打开它。

打开之后,就可以看到在这个投屏软件上了出现了手机的画面。

3. 测试是否连接成功

在命令窗口中输入:adb devices -l ,如果出现以下这个画面,应该是成功连接了!

有个时候,可能会报错,一般原因是投屏软件的adb.exe版本和sdk的adb.exe版本不一致导致的,(小编自己猜测的)应该只需把其中任意一个adb.exe复制到另外那个那里就行了。

4. 代码实现

参考代码如下:

from appium import webdriver
import timedesired_caps={'platformName':'Android','platformVersion':'8.1','deviceName':'xxx','appPackage':'com.tencent.qqlite',  # 自动化应用'appActivity':'com.tencent.mobileqq.activity.SplashActivity',#'unicodeKeyboard':True,#'resetKeyboard':True,'noReset':True,'newCommandTimeout':6000,'automationName':'UiAutomator2'
}driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)driver.implicitly_wait(10)driver2=driver.find_element_by_id('recent_chat_list')list2=driver2.find_elements_by_class_name('android.widget.LinearLayout')
print('当前QQ消息为%d个'%(len(list2)))time.sleep(2)
list2[0].click()def send_Message(text2:str):   # 发消息driver4=driver.find_element_by_id('inputBar')driver4.find_element_by_id('input').send_keys(text2)driver4.find_element_by_id('fun_btn').click()time.sleep(2)print("发送消息:%s"%(text2))list4=[
"刘邦,字季,沛郡丰邑(今江苏省丰县)人。中国历史上杰出的政治家、战略家和军事指挥家,汉朝开国皇帝,汉民族和汉文化的伟大奠基者和开拓者,对汉族的发展以及中国的统一有突出贡献。",
"还没",
"湖南省,简称“湘”,是中华人民共和国省级行政区,省会长沙,界于北纬24°38′~30°08′,东经108°47′~114°15′之间,东临江西,西接重庆、贵州,南毗广东、广西,北连湖北,总面积21.18万平方千米。"
]while True:try:driver3=driver.find_element_by_id('listView1')list3=driver3.find_elements_by_class_name('android.widget.RelativeLayout')text=list3[-1].find_element_by_id('chat_item_content_layout').textprint('收到消息:%s'%(text))      # 接收消息time.sleep(5)if(text=='你好,请帮我查阅一下刘邦的简介'):send_Message(list4[0])elif(text=="你吃中饭了没"):send_Message(list4[1])elif(text=="介绍一下湖南呗!"):send_Message(list4[2])except Exception as e:pass

在运行代码的过程当中,会在手机上自动安装一些东东,同意安装即可。

< END >

微信扫码关注,了解更多内容

如何用 Python 实现 QQ 消息自动回复?相关推荐

  1. 教你一招!如何用 Python 实现 QQ 消息自动回复?

    作者:il_持之以恒_li https://blog.csdn.net/qq_45404396/article/details/112750110 前言 近段时间,看了一下运用python实现app自 ...

  2. python回复qq消息_自动给qq好友发消息

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近突然想做个自动发送qq消息的东西,然后上网搜了一下实现方法,找到了几篇用python实现的帖子,就自己试了试(原来只是简单了解过python,好多地方 ...

  3. python自动发送qq消息_自动给qq好友发消息

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近突然想做个自动发送qq消息的东西,然后上网搜了一下实现方法,找到了几篇用python实现的帖子,就自己试了试(原来只是简单了解过python,好多地方 ...

  4. 用python自动发送qq消息 可选择发送内容与次数

    python初学者,今天来试一下用python实现自动发送qq消息,实现自动化刷屏 只需要输入你要发送的内容.要发送的好友名称以及发送的次数,就可以实现了,效果如下 注意:聊天框必须只开这一个窗口,否 ...

  5. python接受qq消息与发送_python给qq好友发送消息

    步骤 下载Pythoncharm 在pythoncharm里下载pipwin32的扩展(需要适应python版本,我python使用3.7版本) 代码 # 原理是先将需要发送的文本放到剪贴板中,然后将 ...

  6. 使用python发送qq消息

    以前看到网上一些小程序,在处理完事物后会自动发送qq消息,但是一直搞不懂是说明原理.也在网上找过一些python登陆qq发送消息的文字,但是都太复杂了.今天偶然看到一篇文章,是用python调用win ...

  7. 教你如何用Python部署QQ频道机器人

    教你用Python部署QQ频道机器人-疫情助手 该代码库是基于QQ机器人框架进行开发的机器人,用于服务查询国内疫情最新动态.疫情资讯.风险地区.出行政策.疫情科普.防疫热线等服务 机器人指令 /疫情 ...

  8. python撤回qq消息_python+appium 实现qq聊天的消息,滑动删除聊天消息

    有人问我,appium怎么去删除qq聊天的, 当时想到的是滑动, 可是具体的大概有个思路,于是乎,就想自己来实现下, 打开模拟器,开发者选项,找到显示坐标的 然后去打开qq获取要删除的消息的坐标后, ...

  9. 用Python发送QQ消息

    最近在工作中接到一个需求,需要在每天早上取一批数据,数据文件经过压缩加密之后用邮箱发送,而解压密码通过QQ发送给运营.使用Python进行取数.文件加密在已经实现的情况下,需要实现通过QQ发送密码的功 ...

最新文章

  1. Go语言学习笔记(一)Let's 干吧
  2. 游戏杆编程心得二:如何判断按钮的有效按下
  3. 基于Tire树和最大概率法的中文分词功能的Java实现
  4. mongo备份索引_【MongoDB学习之四】索引 聚合 备份与恢复 监控
  5. 网站大访问量优化整体思路
  6. java web 有哪些标签库_java web中jsp常用标签
  7. 机器学习基石-作业二-第10题分析
  8. 解决文件上传_使用FastDfs上传头像上传不成功的问题---SpringCloud Alibaba_若依微服务框架改造---工作笔记002
  9. 反编译工具ILSpy下载
  10. 纸娃娃系统(摘自百科)
  11. Java方法变量中的final
  12. 脉冲神经网络 神经元模型-HH模型(1)
  13. 2017二本各大学计算机分数线,2017全国二本大学排名及分数线查询 (2017二本大学名单一览)...
  14. FASTQ 格式说明
  15. 树莓派——TSL2561获取光强数值(C语言)
  16. 【VUE】将图片的url或file类型转换成base64,并压缩图片大小
  17. 生僻字存不到mysql_数据库存储生僻字存在的问题
  18. 好东西硬盘故障率还是西数黑盘,绿盘最低啊
  19. arista eos系统从零开始研究(1)
  20. 什么是元组以及元组的作用

热门文章

  1. java计算工作日_Java工作日计算工具类
  2. 收集的英语资源(不断更新)
  3. PMP®第五章:项目范围管理
  4. 光学变焦----景深=景深远界-景深近界
  5. ImportError:undefined symbol: _ZN2at5sliceERKNS_6TensorElN3c108optionalIlEES5_l
  6. 2019年新年书单 |不可错过的区块链好书 请查收
  7. 算法AK说 又是递归?! 这样讲全排列算法,应该明白了!
  8. VLAN间如何实现互连?干货奉上!!!
  9. 步步为营——局域网调试NAS软路由“PVE+爱快+lede+黑群晖硬盘直通”并移植到宽带网(超详细,上篇)
  10. java 生成随机码 字符数字图片等