按键大师:用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)
相关推荐
乾巫宇宙国监察特使3 分钟前
Python的设计模式
python·测试
Hockor12 分钟前
写给前端的 Python 教程四(列表/元组)
前端·后端·python
CodeWithMe19 分钟前
【C/C++】EBO空基类优化介绍
开发语言·c++
这里有鱼汤21 分钟前
熟练掌握MACD这8种形态,让你少走三年弯路(附Python量化代码)| 建议收藏
后端·python
404.Not Found29 分钟前
Day46 Python打卡训练营
开发语言·python
love530love31 分钟前
【PyCharm必会基础】正确移除解释器及虚拟环境(以 Poetry 为例 )
开发语言·ide·windows·笔记·python·pycharm
凌辰揽月32 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
海奥华236 分钟前
go中的接口返回设计思想
开发语言·后端·golang
lifallen38 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
运维开发王义杰38 分钟前
Python: 告别 ModuleNotFoundError, 解决 pipx 环境下 sshuttle 缺少 pydivert 依赖的终极指南
开发语言·python