一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Python制作一個自動發(fā)送程序

馬哥Linux運維 ? 來源:CSDN博客 ? 作者:Cresyeal ? 2021-11-22 09:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

事情是這樣的:昨天晚上,女朋友讓我十二點催她睡覺。 不過,可是我實在太困了,熬不下去…… 是吧?女朋友哪有睡覺重要?
但,女朋友的命令,我是不敢違抗的……
但是睡覺也不能缺! 這時候我們該怎么辦呢?是時候讓Python登場了!

Python登場

這次我們來做一個自動發(fā)送微信的程序,在深夜十二點的時候給女朋友發(fā)去消息,也算是盡了一個男朋友的義務(wù)了。

安裝和導(dǎo)入

我們需要兩個模塊:apscheduler,pyautogui快捷鍵 Windows+r 打開運行控制框,輸入 cmd,進(jìn)入命令行,輸入:

		pip install apschedulerpipinstallpyautogui導(dǎo)入:

		import pyautoguifrom datetime import datetimefrom apscheduler.schedulers.blocking import BlockingScheduler # 阻塞當(dāng)前進(jìn)程的調(diào)度器# blocking類型調(diào)度器會阻塞當(dāng)前進(jìn)程,若你想要后臺運行的調(diào)度器,可以使用以下代碼:#fromapscheduler.schedulers.backgroundimportBackgroundScheduler

pyautogui

首先我們來實現(xiàn)自動發(fā)送消息pyautogui 是一個非常強(qiáng)大的庫,可以操作鼠標(biāo)和鍵盤。我們將用它來完成自動操作電腦。先來做一些基本設(shè)置:

		pyautogui.PAUSE=1#設(shè)置每一步操作的間隔(秒),可防止操作太快
		然后我們登錄微信,最小化。接下來我們把鼠標(biāo)放到微信的任務(wù)欄圖標(biāo)上,運行以下語句,獲取此時光標(biāo)的坐標(biāo),返回一個Point對象:

		print(pyautogui.position()) # 打印坐標(biāo),Point(x=148, y=879)icon_position=pyautogui.position()#Point(x=148,y=879)
		打開微信,選擇女朋友的回話窗口,將鼠標(biāo)放在輸入框上,同樣獲取光標(biāo)坐標(biāo),為了將焦點鎖定到輸入框以方便待會的輸入。 

		print(pyautogui.position()) # 打印坐標(biāo),Point(x=174, y=751)entry_position=pyautogui.position()#Point(x=174,y=751)
		接下來,控制程序依次點擊這兩個點:

		pyautogui.click(icon_position) # 默認(rèn)左鍵單擊# pyautogui.click(148, 879)pyautogui.click(entry_position)#pyautogui.click(174,751)打開微信并鎖定焦點后,我們開始輸入文本。
		輸入文本可以有兩種方式:
  • pyautogui.typewrite(['o', 'n', 'e', 'enter'])
在方法中傳入一個列表,里面每一元素都是單個字母或特殊按鍵
  • pyautogui.typewrite('You can type multiple letters in this way')
傳入字符串,但不能同時打印字母和特殊按鍵。這兩種方式都不能直接輸入中文,所以只能依靠你的輸入法來輸入中文了。

		pyautogui.typewrite([*list('zhengzai'),*list('jinxing'),'shift',*list('pyautogui'),'shift',*list('shiyan'),'enter'],0.1)#第一個參數(shù)是輸入文本,第二個是輸入每個字符的間隔時間為了使我們的操作更加人模狗樣像人的操作,我么來加上移動鼠標(biāo)的代碼:

		pyautogui.moveTo(icon_position, duration=2) # duration為執(zhí)行時長,可選pyautogui.click(icon_position)pyautogui.moveTo(entry_position, duration=2)pyautogui.click(entry_position)pyautogui.typewrite([*list('zhengzai'),*list('jinxing'),'shift',*list('pyautogui'),'shift',*list('shiyan'),'enter'],0.1)#第二個參數(shù)為按下每一個字母的間隔,可選

看看效果: 當(dāng)然,若是你要輸入的內(nèi)容實在很多,又嫌麻煩,可以通過復(fù)制粘貼來實現(xiàn):

		import pyperclip pyperclip.copy('正在進(jìn)行發(fā)中文試驗,看到請忽略,更不要罵傻逼') # 復(fù)制pyautogui.hotkey('ctrl', 'v') # 按下組合鍵的方法,ctrl+v粘貼pyautogui.press('enter')#按下按鍵
		這樣,我們便完成了自動發(fā)送微信消息的功能了。

apscheduler

APScheduler 是一個Python庫,可實現(xiàn)延遲調(diào)度要執(zhí)行Python代碼的功能,可以只執(zhí)行一次,也可以定期執(zhí)行??梢噪S時添加新任務(wù)或刪除舊任務(wù)。能夠十分方便地進(jìn)行定時任務(wù)。
scheduler = BlockingScheduler() # 實例化一個調(diào)度器scheduler.add_job(main, 'date', run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任務(wù)scheduler.start()
add_job 方法在這里傳了 3 個參數(shù),第一個為到時間后要執(zhí)行的函數(shù),第二個為觸發(fā)器的類型。這里選用的是 date 觸發(fā)器,特定的時間點觸發(fā),作業(yè)任務(wù)只會執(zhí)行一次。第三個參數(shù) run_date 就是執(zhí)行的時間。在這前我已經(jīng)把自動發(fā)送消息的代碼封裝為了 main 函數(shù),只需到時候調(diào)用即可。

完整代碼


		import pyautoguiimport pyperclipfrom datetime import datetimefrom apscheduler.schedulers.blocking import BlockingScheduler def main(): pyautogui.PAUSE = 0  icon_position = pyautogui.Point(x=148, y=879) # 任務(wù)欄圖標(biāo)位置 entry_position = pyautogui.Point(x=174, y=751) # 輸入框位置  pyautogui.moveTo(icon_position, duration=1) # duration為執(zhí)行時長,可選 pyautogui.click(icon_position) pyautogui.moveTo(entry_position, duration=0.7) pyautogui.click(entry_position) pyperclip.copy('快去睡覺') pyautogui.hotkey('ctrl', 'v') pyautogui.press('enter') pyperclip.copy('笨豬') pyautogui.hotkey('ctrl', 'v') pyautogui.press('enter') scheduler = BlockingScheduler() # 實例化scheduler.add_job(main, 'date', run_date=datetime(2021, 8, 18, 24, 00, 00)) # 添加任務(wù)scheduler.start()完成啦!現(xiàn)在可以去睡覺了。

結(jié)果

第二天早上起床,我被我媽媽罵了一頓,問我為什么午夜12點的時候電腦還亮著,而且還在自己發(fā)微信!不過,好在女朋友沒丟,我成功完成了女朋友的任務(wù)! 好啦,這篇文章就到這里了。以上就是我分享的全部內(nèi)容,感謝閱讀!原文鏈接:https://blog.csdn.net/weixin_52132159/article/details/119785717
責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4895

    瀏覽量

    70493
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4826

    瀏覽量

    86507

原文標(biāo)題:女朋友讓我深夜十二點催她睡覺,我用Python輕松搞定

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    何用QT開發(fā)USB3.0上位機(jī)?

    何用QT開發(fā)USB3.0上位機(jī)
    發(fā)表于 05-21 06:54

    Ethercat轉(zhuǎn)Profinet網(wǎng)關(guān)如何用“協(xié)議翻譯術(shù)”打通自動化產(chǎn)線任督二脈

    Ethercat轉(zhuǎn)Profinet網(wǎng)關(guān)如何用“協(xié)議翻譯術(shù)”打通自動化產(chǎn)線任督二脈
    的頭像 發(fā)表于 05-10 14:42 ?176次閱讀
    Ethercat轉(zhuǎn)Profinet網(wǎng)關(guān)如<b class='flag-5'>何用</b>“協(xié)議翻譯術(shù)”打通<b class='flag-5'>自動</b>化產(chǎn)線任督二脈

    何用FastMCP快速開發(fā)自己的MCP Server?

    使用FastMCP快速實現(xiàn)MCP Server的全過程! , FastMCP簡介 FastMCP作為新Python風(fēng)格的MCP服務(wù)開發(fā)框
    的頭像 發(fā)表于 05-07 16:07 ?1173次閱讀
    如<b class='flag-5'>何用</b>FastMCP快速開發(fā)自己的MCP Server?

    非技術(shù)人員如何用n8n + DeepSeek打造AI自動化工作流?

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 本文從零開始介紹使用n8n和DeepSeek快速實現(xiàn)AI Agent,全自動實現(xiàn)
    的頭像 發(fā)表于 04-09 14:28 ?1935次閱讀
    非技術(shù)人員如<b class='flag-5'>何用</b>n8n + DeepSeek打造AI<b class='flag-5'>自動</b>化工作流?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行
    的頭像 發(fā)表于 03-25 09:27 ?635次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b><b class='flag-5'>程序</b>?

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是使用Python進(jìn)行串口通信的簡單示例。這個示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫,這是
    的頭像 發(fā)表于 11-22 09:11 ?1369次閱讀

    Python環(huán)境下的代理服務(wù)器搭建與自動化管理

    Python環(huán)境下搭建與自動化管理代理服務(wù)器是項涉及網(wǎng)絡(luò)編程和自動化技術(shù)的綜合任務(wù)。
    的頭像 發(fā)表于 11-14 07:31 ?643次閱讀

    socket 發(fā)送和接收數(shù)據(jù)方法

    1. Socket 基本概念 在網(wǎng)絡(luò)編程中,socket 是通信端點。它允許程序發(fā)送和接收數(shù)據(jù)。根據(jù)通信協(xié)議的不同,socket 可以分為以下幾種類型: 流式 socket
    的頭像 發(fā)表于 11-12 14:07 ?1853次閱讀

    Python代理技術(shù)詳解:從入門到進(jìn)階

    Python代理技術(shù)是種在網(wǎng)絡(luò)編程中廣泛使用的技術(shù),它允許通過代理服務(wù)器發(fā)送和接收網(wǎng)絡(luò)請求。
    的頭像 發(fā)表于 11-12 07:06 ?603次閱讀

    【每天學(xué)點AI】例子帶你了解Python裝飾器到底在干嘛!

    進(jìn)行“加料”呢?Python裝飾器提供了更為優(yōu)雅的方式來增強(qiáng)現(xiàn)有函數(shù)的行為,并且不需要修改現(xiàn)有的函數(shù)代碼及調(diào)用方式。接下來通過案例來
    的頭像 發(fā)表于 09-20 16:54 ?781次閱讀
    【每天學(xué)點AI】<b class='flag-5'>一</b><b class='flag-5'>個</b>例子帶你了解<b class='flag-5'>Python</b>裝飾器到底在干嘛!

    何用運放設(shè)計高頻的壓控電流源?

    請教下TI的各位工程師,如何用運放設(shè)計高頻的壓控電流源?要求輸出電流0-500mA,負(fù)載5-10Ω,頻率1MHz-10MHz。
    發(fā)表于 08-14 07:06

    使用Python進(jìn)行Ping測試

    在網(wǎng)絡(luò)工程中,Ping測試是種常用的網(wǎng)絡(luò)診斷工具,用于檢查網(wǎng)絡(luò)連接的可達(dá)性和響應(yīng)時間。Ping測試通過向目標(biāo)主機(jī)發(fā)送ICMP(Internet Control Message Protocol
    的頭像 發(fā)表于 08-12 17:56 ?983次閱讀
    使用<b class='flag-5'>Python</b>進(jìn)行Ping測試

    opencv-python和opencv樣嗎

    樣。OpenCV(Open Source Computer Vision Library)是開源的計算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Pytho
    的頭像 發(fā)表于 07-16 10:38 ?2031次閱讀

    python訓(xùn)練出的模型怎么調(diào)用

    Python中,訓(xùn)練出的模型可以通過多種方式進(jìn)行調(diào)用。 1. 模型保存與加載 在Python中,訓(xùn)練好的模型需要被保存,以便在其他程序或會話中使用。以下是些常用的模型保存和加載方法
    的頭像 發(fā)表于 07-11 10:15 ?3297次閱讀

    用pycharm進(jìn)行python爬蟲的步驟

    提供了許多有用的功能,如代碼自動完成、調(diào)試和版本控制等。您可以從JetBrains的官方網(wǎng)站下載PyCharm,并根據(jù)您的需求選擇免費社區(qū)版或付費專業(yè)版。 創(chuàng)建新的Python項目
    的頭像 發(fā)表于 07-11 10:11 ?1410次閱讀