10分钟教你用 Python 控制键盘和鼠标

Python自动化:轻松控制键盘与鼠标
本文介绍了如何使用Python的pyautogui库来控制键盘和鼠标,包括鼠标点击、移动、拖动以及键盘按键、组合键和输入文字等功能。通过实例展示了在不同场景下自动操作的可能性,如搜索引擎搜索、微信聊天和绘图等。

​您仍在努力在计算机上双击或提交表单吗?

如果我告诉你我可以通过python提前写下相关的操作说明,让它帮你操作鼠标和键盘,但你却在和姐姐聊天,不是很神奇吗?

第一,Pyauogui库

我们可以首先安装pyauogui库,通过它我们可以编写一些Python脚本来控制鼠标和键盘。例如,可以定义鼠标的点击位置、键盘的输入时间等,实现所有要操作的软件应用程序的自动操作。值得一提的是,它可以在win、Mac OS和Linux平台上运行

您可以通过PIP安装:

python3 -m pip install pyautogui

 

2。操作鼠标

安装后,您可以使用它。例如,如果要知道鼠标的位置,可以通过position方法获取:

您还可以编写一个方法来实时获取鼠标的位置:

通过while循环连续监视鼠标的当前位置。这就是它的工作原理:

调用鼠标的click方法如下:

单击一次:

>>> pyautogui . click()

右键单击:

>>> pyautogui . click(button = 'right' )

双击:

>>> pyautogui . doubleClick()

例如,我的桌面上有一张漂亮的图片:

如果你想用Python操作鼠标打开它,可以把鼠标放在帅昭身上,得到鼠标在这个位置的坐标:

可以发现这张照片的位置在(74197),然后可以调用鼠标的双击方法:
关注公众号:编程学习营,送Python入门学习资料+源码+思维导图

 

我们在double click方法中传递了坐标位置,因此它可以在鼠标移动的地方双击。

当然,也可以调用moveto方法来移动鼠标。例如,可以将鼠标移动到100200:

pg.moveTo(100,200,2)

这里2是移动秒的意思。默认值是0.1,这是快速移动的值。

要拖动鼠标,可以调用drag To方法,例如:

pg.dragTo(300, 400, 2, button='left')

表示从当前位置拖动到指定的坐标位置,其中2表示移动时间,按钮可以设置是按左键还是按右键。

3、 操作键盘

那我们来操作键盘

您可以使用按键来调用键盘操作,例如:

按回车键:

>>> pyautogui . press( 'enter' )

按左键:

>>> pyautogui . press( 'left' )

按Ctrl键:

>>> pyautogui . press( 'ctrl' )

热键可用于快捷键,例如:

按下 Ctrl + Shift + T:

>>> pyautogui . hotkey( 'ctrl' , 'shift' , 't' )

复制:

>>> pyautogui . hotkey( 'ctrl' , 'c' )

按住可使用Keydown方法,松开可使用keydup方法,例如:

切换窗口:

这就是它的工作原理:

pause=1表示每秒执行一条操作指令。

要控制键盘输入,可以使用write方法,例如:

输入fxxxpython:

pg.write('fxxk Python !', interval=0.3)
关注公众号:编程学习营,送Python入门学习资料+源码+思维导图

四,箱子

知道了这个,你可以去玩一些有趣的东西。让我们给你举几个简单的例子。

例如,将其分配给浏览器搜索内容:

这就是它的工作原理:

是不是有点硒。

另一个例子操作微信聊天:

挥手致意:

再举一个官方例子。你可以放手绘图:

这就是它的工作原理:

好吧,这就是我今天带给你的。看完这个,可以自动填写表格都会了?我希望这对你有帮助,然后我会为那那些爱编程又长得帅的提供一份福利:

关注公众号:编程学习营,送Python入门学习资料+源码+思维导图

 

<think>我们有两个主要的库来完成任务:pyautoguipynput。根据引用[1]引用[4],pyautogui可以控制鼠标键盘屏幕。例如,移动鼠标、点击、输入文字以及屏幕截图图像识别。根据引用[2]引用[3],pynput库也可以控制鼠标键盘,并且还可以监控鼠标键盘事件。以下分别介绍这两个库的基本用法:###一、使用pyautogui控制鼠标键盘1.**安装pyautogui**```bashpipinstallpyautogui```对于图像识别功能,还需要安装OpenCV:```bashpipinstallopencv-python```2.**控制鼠标**-移动鼠标:`pyautogui.moveTo(x,y,duration=秒数)`-获取当前鼠标位置:`pyautogui.position()`-点击:`pyautogui.click(x,y,clicks=点击次数,interval=间隔时间,button='left')`-拖动鼠标:`pyautogui.dragTo(x,y,duration=秒数)`3.**控制键盘**-输入字符串:`pyautogui.typewrite('字符串',interval=秒)`-按下释放键:`pyautogui.keyDown('键名')`,`pyautogui.keyUp('键名')`-组合键:`pyautogui.hotkey('ctrl','c')`4.**屏幕操作**-截图:`pyautogui.screenshot()`-图像识别:`pyautogui.locateOnScreen('图片.png',confidence=0.8)`(需要安装OpenCV)示例:使用pyautogui双击一个在屏幕上找到的按钮```pythonimportpyautoguiimporttimetime.sleep(5)#暂停5秒,让你有时间切换到目标窗口#在屏幕上查找按钮图片button_location=pyautogui.locateOnScreen('button.png',confidence=0.8)ifbutton_location:button_x,button_y=pyautogui.center(button_location)pyautogui.doubleClick(button_x,button_y)else:print("按钮未找到")```###二、使用pynput控制鼠标键盘1.**安装pynput**```bashpipinstallpynput```2.**控制鼠标**-导入鼠标控制器:`frompynput.mouseimportController`-移动鼠标:`controller.position=(x,y)`-点击:`controller.click(Button.left,1)`3.**控制键盘**-导入键盘控制器:`frompynput.keyboardimportController`-输入字符串:`controller.type('字符串')`-按下释放键:`controller.press('a')`,`controller.release('a')`4.**监控鼠标键盘事件**pynput还可以监控事件,如记录鼠标移动点击(见引用[3]的示例)。示例:使用pynput控制鼠标移动点击```pythonfrompynput.mouseimportControllerasMouseControllerfrompynput.keyboardimportControllerasKeyboardController#控制鼠标mouse=MouseController()mouse.position=(100,200)#移动到(100,200)mouse.click(Button.left,1)#单击左键#控制键盘keyboard=KeyboardController()keyboard.type('HelloWorld')#输入字符串```###三、两个库的对比-**pyautogui**:更简单,适合屏幕操作(如图像识别)自动化脚本。-**pynput**:除了控制外,还支持监控事件,适合需要记录或响应事件的场景。根据需求选择库:1.如果需要进行图像识别,选择pyautogui。2.如果需要监控鼠标键盘事件,选择pynput。3.如果只需要基本控制,两者都可以。§§相关问题§§1.pyautogui的图像识别功能如何使用?2.pynput如何实现键盘事件的监听?3.使用Python控制鼠标键盘,如何避免误操作?4.除了pyautoguipynput,还有哪些库可以实现鼠标键盘控制?</think> 根据您的问题,我将系统介绍 Python 控制鼠标键盘的主要库及实现方法,结合站内引用中的技术方案: ### 一、主流库推荐 1. **PyAutoGUI** (引用[1][4]) - 功能最全面的自动化库,支持: - 鼠标移动、点击、拖拽 - 键盘输入、组合键操作 - 屏幕截图与图像识别 - 安装:`pip install pyautogui` 2. **pynput** (引用[2][3]) - 特点: - 支持鼠标/键盘监听控制 - 事件驱动的编程模型 - 轻量级但功能强大 - 安装:`pip install pynput` ### 二、核心实现方法 #### (1) 鼠标控制 **PyAutoGUI 示例**: ```python import pyautogui # 移动鼠标到坐标(100,200) pyautogui.moveTo(100, 200, duration=0.5) # 左键双击 pyautogui.doubleClick() # 拖拽操作 pyautogui.dragTo(300, 400, duration=1) ``` **pynput 示例** (引用[3]): ```python from pynput.mouse import Controller mouse = Controller() mouse.position = (500, 500) # 设置鼠标位置 mouse.click(Button.left, 2) # 左键双击 ``` #### (2) 键盘控制 **PyAutoGUI 键盘操作**: ```python import pyautogui pyautogui.write('Hello World!') # 输入文本 pyautogui.hotkey('ctrl', 's') # 组合键保存 ``` **pynput 键盘控制**: ```python from pynput.keyboard import Controller keyboard = Controller() keyboard.press('a') # 按下a键 keyboard.release('a') # 释放a键 ``` #### (3) 高级功能实现 1. **图像识别操作** (引用[4]) ```python import pyautogui # 识别屏幕上的按钮位置 button_location = pyautogui.locateOnScreen('button.png', confidence=0.8) if button_location: x, y = pyautogui.center(button_location) pyautogui.click(x, y) # 点击识别到的位置 ``` 2. **输入事件监听** (引用[3]) ```python from pynput.mouse import Listener def on_move(x, y): print(f"鼠标位置: ({x}, {y})") # 创建监听器 with Listener(on_move=on_move) as listener: listener.join() ``` ### 三、库特性对比 | 特性 | PyAutoGUI | pynput | |------|-----------|--------| | 鼠标控制 | ✓ | ✓ | | 键盘控制 | ✓ | ✓ | | 图像识别 | ✓ | ✗ | | 事件监听 | ✗ | ✓ | | 组合键支持 | ✓ | ✓ | | 跨平台性 | 全平台 | 全平台 | | 学习曲线 | 平缓 | 中等 |
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值