经常晚上打王者到凌晨,老是忘记给女朋友说晚安。这次我们来做一个自动发送微信的程序,在晚上22点左右给女朋友发去消息,也好表现我执着的形象,以及早睡早起的良好生活习惯。
我们需要两个模块:apscheduler,pyautogui
快捷键 Windows+r 打开运行控制框,输入 cmd,进入命令行,输入:
pip install apscheduler
pip install pyautogui
我们登录微信,并最小化。
pyautogui 是一个非常强大的库,可以操作鼠标和键盘。我们将用它来完成自动操作电脑。
先来做一些基本设置:
pyautogui.PAUSE = 1 # 设置每一步操作的间隔(秒),可防止操作太快
我们先找到微信图标的坐标(后续的步骤要用到)
print(pyautogui.position()) # 打印坐标,Point(x=1663, y=1052)
icon_position = Point(x=1663, y=1052) # Point(x=1663, y=1052)
程序自动移动鼠标到微信的任务栏图标上,并完成点击操作:
# 在右下角点击微信图标
pyautogui.moveTo(1663,1052,duration=0.5) # duration为执行时长,可选
pyautogui.click() # 模拟鼠标点击
先执行ctrl+f
打开搜索框,把翠花
(女生的微信备注)copy到剪贴板,ctrl+v
粘贴到搜索框,并按下enter
键
# 打开对应的对话框
pyautogui.hotkey('ctrl', 'f') # 按下组合键的方法,ctrl+v粘贴
pyperclip.copy('翠花')
pyautogui.hotkey('ctrl', 'v') # 按下组合键的方法,ctrl+v粘贴
pyautogui.press('enter') # 按下按键
把要发送的消息copy到剪贴板,ctrl+v
粘贴,按下enter
键
pyperclip.copy(f'{text},我也睡了') # 复制
pyautogui.hotkey('ctrl', 'v') # 按下组合键的方法,ctrl+v粘贴
pyautogui.press('enter') # 按下按键
APScheduler 是一个Python库,可实现延迟调度要执行Python代码的功能,可以只执行一次,也可以定期执行。可以随时添加新任务或删除旧任务。能够十分方便地进行定时任务。
加上定时功能的完整代码如下:
import pyautogui
from apscheduler.schedulers.blocking import BlockingScheduler # 阻塞当前进程的调度器
import pyperclip
def send_wx(text):
pyautogui.PAUSE = 1 # 设置每一步操作的间隔(秒),可防止操作太快
# print(pyautogui.position()) # 打印坐标,Point(x=1663, y=1052)
# icon_position = Point(x=1663, y=1052) # Point(x=1663, y=1052)
# 在右下角点击微信图标
pyautogui.moveTo(1663,1052,duration=0.5) # duration为执行时长,可选
pyautogui.click() # 模拟鼠标点击
# 打开对应的对话框
pyautogui.hotkey('ctrl', 'f') # 按下组合键的方法,ctrl+v粘贴
pyperclip.copy('翠花')
pyautogui.hotkey('ctrl', 'v') # 按下组合键的方法,ctrl+v粘贴
pyautogui.press('enter') # 按下按键
# 发送消息
pyperclip.copy(f'{text},我也睡了') # 复制
pyautogui.hotkey('ctrl', 'v') # 按下组合键的方法,ctrl+v粘贴
pyautogui.press('enter') # 按下按键
if __name__ == '__main__':
sched = BlockingScheduler()
sched.add_job(send_wx,"cron",hour=22,minute=11, args=['晚安,早点睡了']) # 定为每天的21点23分
sched.start()