IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 用python实现自动化办公------定时发送微信消息 -> 正文阅读

[Python知识库]用python实现自动化办公------定时发送微信消息

python自动化办公------定时发送微信消息

身边的一位朋友的真实事迹分享给大家,就暂称他C吧。C是一个英俊潇洒的健身男,经常沾花惹草,桃花运不断,听C说他的微信好友就有5000+,平时回消息都回不过来,后来,他不知道从哪冒出来的想法,花了一个月报了一个IT培训班,听说是python自动化办公之类的吧,学成后自己开发了一个软件,叫定时发送微信消息。C建立了一个甜言蜜语的数据库,平时微信消息回不过来,他就使用自己开发的软件,调用数据库里的话发送给其微信好友,事业和生活胡不耽误。
听了这个消息,我不由得敬佩,看来python自动化已经深入大家的生活了!!!我联系到他,他将他的软件打包给了我之后,我稍微做了一些修改,分享给大家。
源代码如下:


```python
import pyautogui
import time


def send_mas_englishi_one(flag_i):
    time.sleep(5)
    pyautogui.click(x=118, y=361, clicks=2, interval=0, button='left')  # 微信exe位置
    time.sleep(1)
    pyautogui.click(x=984, y=138, clicks=1, interval=0, button='left')  # 微信搜索框
    time.sleep(1)
    print("现在准备给{}发送消息".format(id_que[flag_i]))
    pyautogui.hotkey('shift')  # 切换到英文模式
    time.sleep(2)
    pyautogui.typewrite(id_que[flag_i], interval=0.1)  # 键入账号信息
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(2)
    #pyautogui.hotkey('shift')  # 切换中文模式
    #print("现在是中文模式")
    time.sleep(2)
    pyautogui.click(x=1195, y=653, clicks=1, interval=0, button='left')  # 切换到聊天框第一行第一列
    # pyautogui.typewrite('xd1,zheshizidongceshichengxu1,', interval=0.1)
    # time.sleep(1)
    time.sleep(1)
    pyautogui.typewrite(msg_que[flag_i], interval=0.1)  # 键入信息
    time.sleep(1)
    # pyautogui.typewrite('2021-07-08 14:0:00 fachu1', interval=0.1)
    time.sleep(1)
    pyautogui.hotkey('enter')  # 发送
    # pyautogui.click(x=1224, y=620, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.click(x=1111, y=352, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.hotkey('enter')
    time.sleep(1)
    pyautogui.click(x=1704, y=116, clicks=1, interval=0, button='left')  # 关闭窗口
    print("发送成功!")
    time.sleep(3)
    # pyautogui.hotkey('shift')  # 切换到英文模式
    # print("现在是英文模式")
    time.sleep(1)

def send_mas_chinese_one(flag_i):
    time.sleep(5)
    pyautogui.click(x=118, y=361, clicks=2, interval=0, button='left')#微信exe位置
    time.sleep(1)
    pyautogui.click(x=984, y=138, clicks=1, interval=0, button='left')#微信搜索框
    time.sleep(1)
    print("现在准备给{}发送消息".format(id_que[flag_i]))
    pyautogui.hotkey('shift')#切换到英文模式
    time.sleep(2)
    pyautogui.typewrite(id_que[flag_i], interval=0.1)#键入账号信息
    time.sleep(1)
    pyautogui.hotkey('enter')#按回车键
    time.sleep(1)
    pyautogui.hotkey('enter')#按回车键
    time.sleep(2)
    pyautogui.hotkey('shift')#切换中文模式
    print("现在是中文模式")
    time.sleep(2)
    pyautogui.click(x=1195, y=653, clicks=1, interval=0, button='left')#切换到聊天框第一行第一列
    # pyautogui.typewrite('xd1,zheshizidongceshichengxu1,', interval=0.1)
    # time.sleep(1)
    time.sleep(1)
    pyautogui.typewrite(msg_que[flag_i], interval=0.1)#键入信息
    time.sleep(1)
    # pyautogui.typewrite('2021-07-08 14:0:00 fachu1', interval=0.1)
    time.sleep(1)
    pyautogui.hotkey('enter')#发送
    # pyautogui.click(x=1224, y=620, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.click(x=1111, y=352, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.hotkey('enter')
    time.sleep(1)
    pyautogui.click(x=1704, y=116, clicks=1, interval=0, button='left')#关闭窗口
    print("发送成功!")
    time.sleep(3)
    # pyautogui.hotkey('shift')  # 切换到英文模式
    # print("现在是英文模式")
    time.sleep(1)

def send_mas_englishi_two(flag_i):
    time.sleep(5)
    pyautogui.click(x=118, y=361, clicks=2, interval=0, button='left')  # 微信exe位置
    time.sleep(1)
    pyautogui.click(x=984, y=138, clicks=1, interval=0, button='left')  # 微信搜索框
    time.sleep(1)
    print("现在准备给{}发送消息".format(id_que[flag_i]))
    pyautogui.hotkey('shift')  # 切换到英文模式
    time.sleep(2)
    pyautogui.typewrite(id_que[flag_i], interval=0.1)  # 键入账号信息
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(2)
    pyautogui.hotkey('shift')  # 切换中文模式
    print("现在是中文模式")
    time.sleep(2)
    pyautogui.click(x=1195, y=653, clicks=1, interval=0, button='left')  # 切换到聊天框第一行第一列
    # pyautogui.typewrite('xd1,zheshizidongceshichengxu1,', interval=0.1)
    # time.sleep(1)
    time.sleep(1)
    pyautogui.typewrite(msg_que[flag_i], interval=0.1)  # 键入信息
    time.sleep(1)
    # pyautogui.typewrite('2021-07-08 14:0:00 fachu1', interval=0.1)
    time.sleep(1)
    pyautogui.hotkey('enter')  # 发送
    # pyautogui.click(x=1224, y=620, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.click(x=1111, y=352, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.hotkey('enter')
    time.sleep(1)
    pyautogui.click(x=1704, y=116, clicks=1, interval=0, button='left')  # 关闭窗口
    print("发送成功!")
    time.sleep(3)
    # pyautogui.hotkey('shift')  # 切换到英文模式
    # print("现在是英文模式")
    time.sleep(1)

def send_mas_chinese_two(flag_i):
    time.sleep(5)
    pyautogui.click(x=118, y=361, clicks=2, interval=0, button='left')  # 微信exe位置
    time.sleep(1)
    pyautogui.click(x=984, y=138, clicks=1, interval=0, button='left')  # 微信搜索框
    time.sleep(1)
    print("现在准备给{}发送消息".format(id_que[flag_i]))
    #pyautogui.hotkey('shift')  # 切换到英文模式
    time.sleep(2)
    pyautogui.typewrite(id_que[flag_i], interval=0.1)  # 键入账号信息
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(1)
    pyautogui.hotkey('enter')  # 按回车键
    time.sleep(2)
    pyautogui.hotkey('shift')  # 切换中文模式
    print("现在是中文模式")
    time.sleep(2)
    pyautogui.click(x=1195, y=653, clicks=1, interval=0, button='left')  # 切换到聊天框第一行第一列
    # pyautogui.typewrite('xd1,zheshizidongceshichengxu1,', interval=0.1)
    # time.sleep(1)
    time.sleep(1)
    pyautogui.typewrite(msg_que[flag_i], interval=0.1)  # 键入信息
    time.sleep(1)
    # pyautogui.typewrite('2021-07-08 14:0:00 fachu1', interval=0.1)
    time.sleep(1)
    pyautogui.hotkey('enter')  # 发送
    # pyautogui.click(x=1224, y=620, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.click(x=1111, y=352, clicks=1, interval=0, button='left')
    # time.sleep(1)
    # pyautogui.hotkey('enter')
    time.sleep(1)
    pyautogui.click(x=1704, y=116, clicks=1, interval=0, button='left')  # 关闭窗口
    print("发送成功!")
    time.sleep(3)
    # pyautogui.hotkey('shift')  # 切换到英文模式
    # print("现在是英文模式")
    time.sleep(1)

if __name__=="__main__":
    id_que=[]
    msg_que=[]
    send_time_que=[]
    is_chinese_que=[]
    zhongyingwen=["1"]
    while True:
        id = input("请输入发送人的备注,或者ID(请确保ID存在):").strip()
        msg = input("请输入将要发送的内容():").strip()
        is_chinese=input("发送的信息时中文请输入1,其他键为否").strip()
        send_time = input("请输入发送的时间(格式14:00:00):").strip()
        id_que.append(id)
        msg_que.append(msg)
        send_time_que.append(send_time)
        is_chinese_que.append(is_chinese)
        print(id)
        print(msg)
        print(send_time)
        is_continue=input("结束请输入1,否则继续").strip()
        if is_continue=='1':
            break
        else:
            continue
    print("结束录入,等待消息发送!!")
    print("loading......")
    send_number=0
    length=len(send_time_que)
    print(length)
    print(id_que[0])
    while True:
        if send_number<length:
            print("一共有{}条消息,共发送了{}条消息".format(length,send_number))
            for i in range(len(send_time_que)):
                if time.strftime("%H:%M:%S") == send_time_que[i]:
                    flag=i
                    print(i)
                    if zhongyingwen[-1]=="1":#上一次输入最后是中文
                        if is_chinese_que[flag]=="1":
                            zhongyingwen.append("1")
                            send_mas_chinese_one(flag_i=flag)
                        else:
                            send_mas_englishi_one(flag_i=flag)
                            zhongyingwen.append("0")
                    else:
                        if is_chinese_que[flag]=="1":
                            zhongyingwen.append("1")
                            send_mas_chinese_two(flag_i=flag)
                        else:
                            send_mas_englishi_two(flag_i=flag)
                            zhongyingwen.append("0")
                    send_number+=1
                    # id_que.pop(flag)
                    # msg_que.pop(flag)
                    # send_time_que.pop(flag)
        else:
            print("全部已经发送!")
            break

比如说,我要在今天21:40发送给我的好友yangyang 发送消息,运行程序后,如下设置:
在这里插入图片描述

在这里插入图片描述
到了设定的时间后,电脑就在自动的打开微信,给我的好友yangyang发送消息。
在这里插入图片描述
是不是很神奇?其实这短代码非常简单,只是调用了pyautogui的API实现了鼠标移动和键盘键入,而我们平时使用的APP不都是这样的吗?如果对于一些简单而且重复性的工作,使用pyautogui就可以事半功倍。关于pyautogui,读者可以在pyautogui官网进行学习,建议使用谷歌浏览器进行阅读,毕竟谷歌自带的翻译功能是非常强大的,非常有利于英文水平低的读者进行学习。
如果对我的文章感兴趣,请为我点一个赞,如果有python的知识需要了解或探讨,可以加本人微信cuiliang1666457052

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 11:32:41  更:2021-07-10 11:32:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 14:50:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码