最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python如何制作自動發(fā)送微信的程序

 更新時間:2022年01月28日 11:36:25   作者:Cresyeal  
這篇文章主要介紹了如何利用Python中的apscheduler和pyautogui模塊,制作一個自動發(fā)送微信的程序。感興趣的小伙伴可以跟隨小編一起動手試一試

前言

事情是這樣的:今天晚上,女朋友讓我十二點催她睡覺。

不過,可是我實在太困了,熬不下去…… 是吧?女朋友哪有睡覺重要?

但,女朋友的命令,我是不敢違抗的……

但是睡覺也不能缺!

這時候我們該怎么辦呢?是時候讓Python登場了!

模塊安裝和導(dǎo)入

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

我們需要兩個模塊:apscheduler,pyautogui

快捷鍵 Windows+r 打開運行控制框,輸入 cmd,進入命令行,輸入:

pip install apscheduler
pip install pyautogui

導(dǎo)入:

import pyautogui
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler # 阻塞當前進程的調(diào)度器
# blocking類型調(diào)度器會阻塞當前進程,若你想要后臺運行的調(diào)度器,可以使用以下代碼:
# from apscheduler.schedulers.background import BackgroundScheduler

pyautogui

首先我們來實現(xiàn)自動發(fā)送消息

pyautogui 是一個非常強大的庫,可以操作鼠標和鍵盤。我們將用它來完成自動操作電腦。

先來做一些基本設(shè)置:

pyautogui.PAUSE = 1 # 設(shè)置每一步操作的間隔(秒),可防止操作太快

然后我們登錄微信,最小化。

接下來我們把鼠標放到微信的任務(wù)欄圖標上,運行以下語句,獲取此時光標的坐標,返回一個Point對象:

print(pyautogui.position()) # 打印坐標,Point(x=148, y=879)
icon_position = pyautogui.position() # Point(x=148, y=879)

打開微信,選擇女朋友的回話窗口,將鼠標放在輸入框上,同樣獲取光標坐標,為了將焦點鎖定到輸入框以方便待會的輸入。

print(pyautogui.position()) # 打印坐標,Point(x=174, y=751)
entry_position = pyautogui.position() # Point(x=174, y=751)

接下來,控制程序依次點擊這兩個點:

pyautogui.click(icon_position) # 默認左鍵單擊
# 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ù)是輸入文本,第二個是輸入每個字符的間隔時間

為了使我們的操作更加 人模狗樣 像人的操作,我么來加上移動鼠標的代碼:

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ù)為按下每一個字母的間隔,可選

看看效果:

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

import pyperclip

pyperclip.copy('正在進行發(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ù)。能夠十分方便地進行定時任務(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 pyautogui
import pyperclip
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler

def main():
?? ?pyautogui.PAUSE = 0

?? ?icon_position = pyautogui.Point(x=148, y=879) # 任務(wù)欄圖標位置
?? ?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ù)!

以上就是詳解Python如何制作自動發(fā)送微信的程序的詳細內(nèi)容,更多關(guān)于Python自動發(fā)送微信的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python數(shù)據(jù)類型轉(zhuǎn)換實現(xiàn)方法

    Python數(shù)據(jù)類型轉(zhuǎn)換實現(xiàn)方法

    這篇文章主要介紹了Python數(shù)據(jù)類型轉(zhuǎn)換的實現(xiàn),有時候,我們需要對數(shù)據(jù)內(nèi)置的類型進行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,一般情況下你只需要將數(shù)據(jù)類型作為函數(shù)名即可
    2022-12-12
  • Python中異常處理及最佳實踐舉例詳解

    Python中異常處理及最佳實踐舉例詳解

    異常處理在任何一門編程語言里都是值得關(guān)注的一個話題,良好的異常處理可以讓你的程序更加健壯,下面這篇文章主要給大家介紹了關(guān)于Python中異常處理及最佳實踐的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • TensorFlow安裝CPU版本和GPU版本的實現(xiàn)步驟

    TensorFlow安裝CPU版本和GPU版本的實現(xiàn)步驟

    本文主要介紹了TensorFlow安裝CPU版本和GPU版本的實現(xiàn)步驟,文中通過圖文示例介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • python+selenium行為鏈登錄12306(滑動驗證碼滑塊)

    python+selenium行為鏈登錄12306(滑動驗證碼滑塊)

    這篇文章主要介紹了python+selenium行為鏈登錄12306,使用python網(wǎng)絡(luò)爬蟲登錄12306,下面小編為大家分享一段代碼,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-02-02
  • TensorFlow tf.nn.conv2d實現(xiàn)卷積的方式

    TensorFlow tf.nn.conv2d實現(xiàn)卷積的方式

    今天小編就為大家分享一篇TensorFlow tf.nn.conv2d實現(xiàn)卷積的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python中__init__方法知識點詳解

    python中__init__方法知識點詳解

    Python中常會看到在很多類中都有一個__init__函數(shù),該函數(shù)有什么作用,又該如何使用呢,下面這篇文章主要給大家介紹了關(guān)于python中__init__知識點的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Python中的變量和數(shù)據(jù)類型詳情

    Python中的變量和數(shù)據(jù)類型詳情

    這篇文章主要介紹了Python中的變量和數(shù)據(jù)類型詳情,變量不需要聲明即可使用,向變量賦值即定義變量,python中的數(shù)據(jù)類型包括數(shù)值類型、列表、元組等內(nèi)容,下面文章的詳細介紹,需要的小伙伴可以參考一下
    2022-03-03
  • Python中類型關(guān)系和繼承關(guān)系實例詳解

    Python中類型關(guān)系和繼承關(guān)系實例詳解

    這篇文章主要介紹了Python中類型關(guān)系和繼承關(guān)系,較為詳細的分析了Python中類型關(guān)系和繼承關(guān)系的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例

    python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例

    今天小編就為大家分享一篇python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法

    Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法

    這篇文章主要介紹了Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法,涉及Python中cx_Oracle模塊與csv模塊操作Oracle數(shù)據(jù)庫及csv文件的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05

最新評論

民勤县| 平舆县| 松阳县| 拜城县| 中山市| 罗江县| 佛冈县| 海口市| 古田县| 鹤岗市| 桦甸市| 海原县| 荔浦县| 阿拉善盟| 金寨县| 青岛市| 苗栗市| 大邑县| 海伦市| 和田县| 永泰县| 黄龙县| 淮北市| 安新县| 太康县| 精河县| 旬阳县| 沅江市| 阿巴嘎旗| 昌宁县| 怀宁县| 蓬安县| 湾仔区| 商丘市| 息烽县| 镇原县| 五峰| 衡阳县| 大英县| 黔东| 晋州市|