按键大师:用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)
相关推荐
吾爱星辰1 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
ChinaDragonDreamer1 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
FreakStudio1 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
IT良1 小时前
c#增删改查 (数据操作的基础)
开发语言·c#
丶21361 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
Kalika0-02 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
_.Switch2 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
代码雕刻家2 小时前
课设实验-数据结构-单链表-文教文化用品品牌
c语言·开发语言·数据结构
一个闪现必杀技2 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
Fan_web2 小时前
jQuery——事件委托
开发语言·前端·javascript·css·jquery