按键大师:用Python实现无人值守的自动化操作

哈喽,大家好,我是木头左!

在这个科技日新月异的时代,的生活被各种软件和应用所包围。然而,你是否想过,如果你能够控制这些应用的操作,那么你的生活将会变得多么的便捷?今天,我将教你如何使用Python的pynputpyautogui库,记录各种按键操作,并用它们来执行操作。这不仅可以帮助你提高工作效率,还可以让你在无聊的时候找到乐趣。

一、Python的键盘记录器:pynput

Python的pynput库是一个强大的工具,它可以让你控制和监控你的电脑。你可以使用它来记录和重播你的键盘和鼠标操作。这对于那些想要自动化他们的工作流程的人来说,是非常有用的。

你需要安装pynput库。你可以使用pip来安装它:

python 复制代码
pip install pynput

然后,你可以创建一个KeyboardController对象,并使用它的on_press方法来记录按键操作。例如:

python 复制代码
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来安装它:

python 复制代码
pip install pyautogui

然后,你可以使用pyautogui的各种函数来模拟操作。例如,以下代码将会打开记事本并输入一些文本:

python 复制代码
import pyautogui
import time

time.sleep(2)  # 等待2秒,让你有时间切换到记事本窗口
pyautogui.typewrite('Hello world!')  # 输入文本
pyautogui.press('enter')  # 按下回车键

这段代码会在你运行它后2秒钟打开记事本,并输入"Hello world!",然后按下回车键。你可以在任何你想要的地方运行这段代码,只要你有焦点在正确的窗口上。

三、结合使用:按键大师

现在,你已经知道了如何记录按键操作和使用pyautogui来模拟操作。那么,你可以将这两个功能结合起来,创建一个真正的按键大师。你可以创建一个脚本,当你运行它时,它会记录你的按键操作,并使用这些操作来自动化你的命令行任务。例如:

python 复制代码
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)
相关推荐
Ting-yu1 分钟前
Java中Stream流的使用
java·开发语言·windows
【ql君】qlexcel30 分钟前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制
Zevalin爱灰灰39 分钟前
MATLAB GUI界面设计 第六章——常用库中的其它组件
开发语言·ui·matlab
冰糖猕猴桃1 小时前
【Python】进阶 - 数据结构与算法
开发语言·数据结构·python·算法·时间复杂度、空间复杂度·树、二叉树·堆、图
天水幼麟1 小时前
python学习笔记(深度学习)
笔记·python·学习
巴里巴气1 小时前
安装GPU版本的Pytorch
人工智能·pytorch·python
wt_cs1 小时前
银行回单ocr api集成解析-图像文字识别-文字识别技术
开发语言·python
_WndProc2 小时前
【Python】Flask网页
开发语言·python·flask
互联网搬砖老肖2 小时前
Python 中如何使用 Conda 管理版本和创建 Django 项目
python·django·conda
测试者家园2 小时前
基于DeepSeek和crewAI构建测试用例脚本生成器
人工智能·python·测试用例·智能体·智能化测试·crewai