设置自动邮箱发送
import smtplib
from email.mime.text import MIMEText
# 定义发送邮箱方法
def sentEmail(text):
# 设置服务器所需信息
# 163邮箱服务器地址
mail_host = 'smtp.163.com'
# 163用户名
mail_user = '123456789'
# 密码(部分邮箱为授权码)
mail_pass = 'xxx'
# 邮件发送方邮箱地址
sender = '123456789@163.com'
# 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
receivers = ['123456789@qq.com']
# 设置email信息
# 邮件内容设置
message = MIMEText(text, 'plain', 'utf-8')
# 邮件主题
message['Subject'] = '自动健康上报结果'
# 发送方信息
message['From'] = sender
# 接受方信息
message['To'] = receivers[0]
# 登录并发送邮件
try:
smtpObj = smtplib.SMTP()
# 连接到服务器
smtpObj.connect(mail_host, 25)
# 登录到服务器
smtpObj.login(mail_user, mail_pass)
# 发送
smtpObj.sendmail(
sender, receivers, message.as_string())
# 退出
smtpObj.quit()
print('success')
except smtplib.SMTPException as e:
print('error', e) # 打印错误
企业微信自动化操作
下载安装企业微信
企业微信下载链接:企业微信
使用大漠插件编写脚本(不需要注册VIP功能,免费使用)
import win32com.client
import time
dm = win32com.client.Dispatch('dm.dmsoft')
dm.setpath("D:\GameDMTest") # 该目录为你截图保存图片的地址,因为后面需要找图,这里提供路径
whTime = 0 # 循环计时,每次找图都循环计时,当超过一定时间找不到图就发送失败信息给邮箱
# 打开企业微信
ret_weixin = dm.findpice(0, 0, 1920, 1080, "weixin.bmp", '050505', 0.9, 0) # 找图
print(ret_weixin)
ret_weixin_pos = ret_weixin.split("|")
# 判断是否找到图,因为有些界面加载需要时间,所以循环找图,超过一定时间就是找不到返回失败,直接结束进程
while int(ret_weixin_pos[1]) <= 0:
ret_weixin = dm.findpice(0, 0, 1920, 1080, "weixin.bmp", '050505', 0.9, 0) # 找图
ret_weixin_pos = ret_weixin.split("|")
whTime += 1
print(whTime)
# 超过时间了,发送失败提醒邮箱,然后结束进程
if whTime >= 500:
sentEmail('打开企业微信失败,请自己健康上报!')
exit() # 结束
whTime = 0 # 找到图,计时清零
dm.moveto(ret_weixin_pos[1], ret_weixin_pos[2]) # 移动鼠标到这个点
dm.leftdoubleclick() # 左键双击
# 如下反复同样操作,不额外写备注
# 点击工具箱
ret_gongjixiang = dm.findpice(0, 0, 1920, 1080, "gongjixiang.bmp", '050505', 0.9, 0) # 找图
ret_gongjixiang_pos = ret_gongjixiang.split("|")
while int(ret_gongjixiang_pos[1]) <= 0:
ret_gongjixiang = dm.findpice(0, 0, 1920, 1080, "gongjixiang.bmp", '050505', 0.9, 0) # 找图
ret_gongjixiang_pos = ret_gongjixiang.split("|")
whTime += 1
if whTime >= 500:
sentEmail('点击工具箱失败,请自己健康上报!')
exit() # 结束
whTime = 0
dm.moveto(ret_gongjixiang_pos[1], ret_gongjixiang_pos[2]) # 移动鼠标到这个点
dm.leftclick() # 左键单击
# 点击健康上报界面
ret_jiankang = dm.findpice(0, 0, 1920, 1080, "jiankang.bmp", '050505', 0.9, 0) # 找图
ret_jiankang_pos = ret_jiankang.split("|")
while int(ret_jiankang_pos[1]) <= 0:
ret_jiankang = dm.findpice(0, 0, 1920, 1080, "jiankang.bmp", '050505', 0.9, 0) # 找图
ret_jiankang_pos = ret_jiankang.split("|")
whTime += 1
if whTime >= 500:
sentEmail('点击健康上报界面失败,请自己健康上报!')
exit() # 结束
whTime = 0
dm.moveto(ret_jiankang_pos[1], ret_jiankang_pos[2]) # 移动鼠标到这个点
dm.leftclick() # 左键单击
# 这里因为下面这个图加载出来了但是点击还是进不去,所以需要等待加载页面完成在找图点击,
time.sleep(3)
# 点击进入健康上报
ret_shangbaoin = dm.findpice(0, 0, 1920, 1080, "shangbaoin.bmp", '050505', 0.9, 0) # 找图
ret_shangbaoin_pos = ret_shangbaoin.split("|")
while int(ret_shangbaoin_pos[1]) <= 0:
ret_shangbaoin = dm.findpice(0, 0, 1920, 1080, "shangbaoin.bmp", '050505', 0.9, 0) # 找图
ret_shangbaoin_pos = ret_shangbaoin.split("|")
whTime += 1
if whTime >= 500:
sentEmail('点击进入健康上报填写界面失败,请自己健康上报!')
exit() # 结束
whTime = 0
dm.moveto(ret_shangbaoin_pos[1], ret_shangbaoin_pos[2]) # 移动鼠标到这个点
dm.leftclick() # 左键单击
此贴仅为技术交流探讨,剩下点击健康上报代码不写出,请自行根据前两章内容自行补充!
自定义电脑定时执行Python脚本
右键此电脑,点击管理
点击创建基本任务
自定义任务名称,点击下一步
因为上报是每天都需要的,所以选择每天
选择启动程序
第一个框是你要运行的启动器,一般为python目录下的python.exe来启动python程序
python.exe
第二个框是你要运行的python文件路径
D:\GameDMTest\企业微信.py
第三个框是你安装python的路径
D:\Python3.9\Python3.9-32
这里的意思就是,在第三个框的路径下找到第一个框的python.exe来运行第二个框的企业微信.py文件