之前网页端的微信可以用时,python用itchat库就可以很好的自动给联系人发消息,现在网页端不可用了,而且微信客户端的通信协议我们是不可能知道的,所以模拟客户端给微信服务器发数据太过麻烦,需要不停的抓包,微信信息肯定是加密的,还需要破解加密信息等,工程量太大,另一个可行的方案是反编译微信,不过你没相关的知识,工具 也是不可能完成的。

有个替代的方法就是用python去模拟鼠标键盘操作,然后在微信窗口发送消息就行了。(仅限微信电脑版)

步骤如下,1.找到微信窗口,点击下放到最前端

2.在输入框中点一下

3.输入信息(或者按下ctrl v)(剪切板里面有提前设置好的语句)

4.点击发送或者输入回车

附上代码如下:

需要安装的库 pywin32  win32gui win32con

代码简要说明:win32gui.FindWindow(None,"微信")找到微信窗口,就是微信主窗口,你想和谁聊天就在主窗口中点击到那个界面,一切准备好后,再来执行代码,这样代码只能永远给一个人发消息,不支持切换人

如果你想在代码里面和n个人聊天,要双击这n个人,这样会有n(n个人)+1个窗口(主窗口),

比如张三好友 可以这样zhangsan=win32gui.FindWindow(None,"张三")就是找到张三的微信聊天界面,后面可以用zhangsan这个handle去给张三发消息了,原理同上,执行上述步骤

注意微信窗口不能最小化,否则代码中找到的窗口位置的4个坐标都是负数

import win32gui
import win32api
import win32con
import time
import randomimport win32clipboard as wdef getClipBoardText():w.OpenClipboard()d=w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return d
def setClipBoardText(data):w.OpenClipboard()w.EmptyClipboard()w.SetClipboardText(data)w.CloseClipboard()def ctrlV():win32api.keybd_event(17, 0, 0, 0)  # ctrl键位码是17win32api.keybd_event(86, 0, 0, 0)  # v键位码是86win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)def altS():win32api.keybd_event(18, 0, 0, 0)  # Alt键位码win32api.keybd_event(83, 0, 0, 0)  # s键位码win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放按键win32api.keybd_event(83, 0, win32con.KEYEVENTF_KEYUP, 0)weixin=win32gui.FindWindow(None,"微信")
win32gui.SetForegroundWindow(weixin)
left, top, right, bottom = win32gui.GetWindowRect(weixin)
print(left,top,right,bottom)theWordYouWantToSay=("hahhahhahhahhahahahhhahahahahahhhhhahhhahhhahahahahha","hhahahhahhahahahahhaha")for i in range(0,50):click_x=732-423+left+80#亲测不管怎么改变微信窗口打下,click_x 和clilck_y总能点到输入框click_y=bottom-(918-775)+60win32api.SetCursorPos([click_x,click_y])win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)setClipBoardText(theWordYouWantToSay[random.randint(0,len(theWordYouWantToSay)-1)])ctrlV()# 发送回车win32api.keybd_event(13,0,0,0)win32api.keybd_event(13,0,win32con.KEYEVENTF_KEYUP,0)time.sleep(0.3)

用python 自动给微信好友发消息相关推荐

  1. python 发微信 自动登录_用python自动给微信好友发消息

    由于itchat运行时,老是报KeyError: 'pass_ticket',故itchat暂不能使用.而wxpy在使用时需要登录网页版微信,且动不动报KeyError: 'pass_ticket,所 ...

  2. 使用python 自动给微信好友发送消息 pyautogui库下载

    使用Python-pyautogui,实现全自动微信发消息,带交互功能 直接输入好友的备注.想发送的次数以及发送的内容,即可实现自动查找该好友并对该好友发送指定的消息 先直接上代码,后文会给出代码的具 ...

  3. php 企业号文本消息推送,Python如何实现微信企业号文本消息推送功能的示例

    这篇文章主要介绍了Python编程实现微信企业号文本消息推送功能,结合实例形式分析了Python微信企业号文本消息推送接口的调用相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python微信企业号 ...

  4. Python定时向微信发送天气消息和每日一言[wxpy、apscheduler]

    Python定时向微信发送天气消息和每日一言 Python定时向微信发送天气消息和每日一言 环境描述 引用库 部分代码 开发问题反馈和交流 Python定时向微信发送天气消息和每日一言 通过wxpy拉 ...

  5. 微信运营——利用python自动加微信(通往销冠之路)

    前言: 运营获客,微信运营也是其中一种,没想到不是老客户运营,而是直接加陌生微信.先不管效果怎么样,说说如果利用python自动加微信.我们公司和兔展合作,还建立了公司,估计也花了不少钱,但是我自己一 ...

  6. python给微信好友发消息

    import time import pyautogui as pg import pyperclip as pcclass SendMsg(object):def __init__(self):se ...

  7. python自动添加微信好友_Python实现微信自动好友验证,自动回复,发送群聊链接方法...

    引言: 一开始二维码加群,但是呢,这个东西隔一段时间会过期,我需要 每隔一段时间去更新二维码,然后当群人数超过100人了,只能邀请进群, 这个时候就需要别人添加我为好友,然后我通过,打开交流群,添加成 ...

  8. python自动操作微信_微信全智能机器人测试,Python代码实现自动化操作,玩转智能应答...

    原标题:微信全智能机器人测试,Python代码实现自动化操作,玩转智能应答 本文为微信智能回复相关python项目,通过模拟网页端微信接口,实现跟好友之间自动的回复,并接入了图灵智能库,进行相应的内容 ...

  9. python自动发微信新闻_微信群总有人发广告?用Python写一个自动化机器人消灭他...

    作者 | 刘早起 出品 | 早起Python(ID: zaoqi-python) 或者是一声不吭的去骚扰每一个群成员. 虽然不清楚是什么能够驱使他们这样不折不扣的努力成为最强微信群牛皮癣(可能是钞能力 ...

最新文章

  1. SpringBoot2.XX 产生的问题
  2. Spring Security 5.5发布,正式实装OAuth2.0的第五种授权模式
  3. 扬州大学广陵学院计算机网络试卷,扬州大学广陵学院控制工程考试样卷B.doc
  4. VMware14.0 安装 CentOS7.2
  5. mysql 查询 投影,MySql-连接查询
  6. 分析java 嵌套类与内部类
  7. nginx 过滤请求URL参数及重定向
  8. linux访问db2数据库操作命令行,DB2数据库基本操作指令30条
  9. 《电路》邱关源 思维导图 第七章-一阶和二阶电路的时域分析
  10. 【Python精华】100个Python练手小程序
  11. JavaWeb——JSP开发模型
  12. 固态硬盘测试软件有哪些,常用的固态硬盘测试软件有哪几种
  13. 功率因数 matlab,基于Matlab的功率因数校正电路的仿真分析
  14. java关于对于word或者pdf文件的批量下载实现,其中包括(Java实现创建word文档模板,根据模板导出word文档)
  15. colbat strike 安装注意事项
  16. 嵌入式系统的应用领域
  17. AOP防止表单重复提交
  18. ASTER GDEM V02(30m)、ASTER GDEM V03(30m)、TanDEM(90m)三种全球DEM数据的质量对比
  19. python车牌识别系统开源代码_python+opencv实现车牌定位功能(实例代码)
  20. 大数据在车联网行业的实践与应用

热门文章

  1. 东华与东软两大软件公司
  2. 你硬盘里的那些电影都是如何被保存的?
  3. oracle 与赛门铁克,Oracle与赛门铁克共同认证数据中心解决方案
  4. 中国省市县乡村五级数据库
  5. 好用的XManager6 注册机
  6. 人力资源经理的四个阶层
  7. 重磅炸弹即将推出,欢迎大家继续关注~
  8. 敏捷宣言中遵循的原则
  9. 口腔ct重建服务器原理,口腔CT成像的迭代重建算法研究
  10. 常用awk命令(转)