按鍵大師:用Python實現無人值守的自動化操作

木头左發表於2024-06-28

哈嘍,大家好,我是木頭左!

在這個科技日新月異的時代,的生活被各種軟體和應用所包圍。然而,你是否想過,如果你能夠控制這些應用的操作,那麼你的生活將會變得多麼的便捷?今天,我將教你如何使用Python的pynputpyautogui庫,記錄各種按鍵操作,並用它們來執行操作。這不僅可以幫助你提高工作效率,還可以讓你在無聊的時候找到樂趣。

一、Python的鍵盤記錄器:pynput

Python的pynput庫是一個強大的工具,它可以讓你控制和監控你的電腦。你可以使用它來記錄和重播你的鍵盤和滑鼠操作。這對於那些想要自動化他們的工作流程的人來說,是非常有用的。
你需要安裝pynput庫。你可以使用pip來安裝它:

pip install pynput

然後,你可以建立一個KeyboardController物件,並使用它的on_press方法來記錄按鍵操作。例如:

from pynput.keyboard import Controller, Key

keyboard = Controller()

def on_press(key):
    print('{0} pressed'.format(key))
    if key == Key.esc:
        return False

with keyboard.Listener(on_press=on_press) as listener:
    listener.join()

這段程式碼將會在每次按下一個鍵時列印出該鍵的名稱,並在按下Esc鍵時停止監聽。

二、自動化操作:pyautogui

有了pynput,你就可以開始建立自動化操作了。Python的pyautogui庫可以讓你模擬滑鼠和鍵盤操作。你可以使用它來開啟應用程式,點選按鈕,輸入文字等等。
你需要安裝pyautogui庫。你可以使用pip來安裝它:

pip install pyautogui

然後,你可以使用pyautogui的各種函式來模擬操作。例如,以下程式碼將會開啟記事本並輸入一些文字:

import pyautogui
import time

time.sleep(2)  # 等待2秒,讓你有時間切換到記事本視窗
pyautogui.typewrite('Hello world!')  # 輸入文字
pyautogui.press('enter')  # 按下Enter鍵

這段程式碼會在你執行它後2秒鐘開啟記事本,並輸入"Hello world!",然後按下Enter鍵。你可以在任何你想要的地方執行這段程式碼,只要你有焦點在正確的視窗上。

三、結合使用:按鍵大師

現在,你已經知道了如何記錄按鍵操作和使用pyautogui來模擬操作。那麼,你可以將這兩個功能結合起來,建立一個真正的按鍵大師。你可以建立一個指令碼,當你執行它時,它會記錄你的按鍵操作,並使用這些操作來自動化你的命令列任務。例如:

import pynput
import pyautogui as pw
import time
import os
import random
from datetime import datetime, timedelta, timezone
from selenium import webdriver
from selenium.webdriver.common.keys import Keys, KeyCodes as kc, KeyModifiers as km, ActionKeys as ak, ENTER, ESC, SPACE, DLEFT, DRIGHT, UPARROW, LARROW, NUMPAD8, NUMPAD2, NUMPAD4, SEMICOLON, F6, F5, PAGE_UP, PAGE_DOWN, CTRL, SHIFT, CMD, A, B, BACKSPACE, NILVALUE, HIDEKEYS, TOGGLEFULLSCREEN, IMEPROPERTIES, F11, F12, PAUSE, SCROLLLOCK, COMMA, PERIOD, CAPS_LOCK, KP_PLUS, KP_MINUS, KP_ENTER, KP_EQUALS, KP_DIVIDE, KP_MULTIPLY, KP_SUBTRACT, KP_END, KP_HOME, KP_PGUP, KP_PGDN, KP_ENDTAB, KP_F5, KP_F3, KP_F11, KP_F12, KP_ESCAPE, KP_INSERT, KP_DELETE, NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, ASTR_SPACE, ASTR_XFERMODECHANGEDIRECTIONKEYSALTNONEMETA2MODEMETAQUICKFORWARDMETAQUICKRETURNMETAPLAYPAUSEMEDIARECORDMUTEUNDOFOCUSSONORAFTERTOGGLEZOOMINVENTURERCONTROLSAPPLICATIONDETAILSSYSTEMEXITWINDOWS+XKP_SLASHKP_ASTERISKKP_OPENBRACKETKP_CLOSEBRACKETKP_BACKSLASHKP_PIPEKP_ATKP_HASHKP_PERCENTKP_LESSKP_GREATERKP_AMPERSANDKP_SINGLEQUOTEKP_DOUBLEQUOTEKP_VERTICALBARKP_HLINEKP_DBLLINEKP_CARETKP_UNDERSCOREKP_GRAVEKP_LEFTPARENTHESISKP_RIGHTPARENTHESISKP_LEFTBRACKETKP_RIGHTBRACKETKP__BACKQUOTEKP__OPENCURLYBRACKETKP__CLOSECURLYBRACKETKANJISHIFTCUTTEROMANIAKOYAKAGIRIMOHIRAGANANEWLINEHANGULJUNGWONGCAPITALMCHARLATINCAPITALNUNJULAMYEAUDIOVIDEOFILESHAREWEBCAMMMSKYPEWHATSAPPXXXXVIRTUALKEYBOARDWIN+LWIN+RWIN+MWIN+UWIN+DWIN+EWIN+FWIN+TWIN+GWIN+HWIN+YWIN+UWIN+IWIN+OWIN+PWIN+[']WIN+\\WIN+|WIN+/WIN+?WIN+↑WIN+↓WIN++WIN--WIN-WIN*WIN&WIN^WIN<win>win\u00a1win\u00a7win\u00b4winu00b6win\u00b7win\u00bbwin\u00bfwin\u20acwinu2122win\u2190win\u2195win\u23cewin\u2409win\u25aawinu25abwin\ufe4fwin\ufeffwinufffdwin\ufffbwinuffffwin\u05bewin\u05c0win\u05c3winu05c6win\u05d8win\u05dcwin\u05e6win\u05f4win\u061fwin\u061dwinu064bwin\u0670win\u06d6[aAiAUOoOlOE]OPQRSTUAVYXWZ[]^_{|}~
> 我是木頭左,感謝各位童鞋的點贊、收藏,我們下期更精彩!
    
![](https://img-blog.csdnimg.cn/img_convert/f45fb6d6b8550de7b64d170be83f7581.png)

相關文章