控制鼠标和键盘

控制鼠标和键盘的Python库

Python中有多个库可以用于控制鼠标和键盘,常用的包括pyautoguipynputkeyboardmouse等。这些库提供了模拟用户输入的功能,适用于自动化测试、GUI操作等场景。

使用pyautogui控制鼠标

pyautogui是一个跨平台的库,支持鼠标和键盘控制。

安装方法:

复制代码
pip install pyautogui

控制鼠标移动和点击:

复制代码
import pyautogui

# 移动鼠标到坐标(100, 100)
pyautogui.moveTo(100, 100, duration=1)

# 点击鼠标左键
pyautogui.click()

# 双击鼠标左键
pyautogui.doubleClick()

# 右键点击
pyautogui.rightClick()

# 拖动鼠标
pyautogui.dragTo(200, 200, duration=1)

使用pyautogui控制键盘

pyautogui也可以模拟键盘输入:

复制代码
import pyautogui

# 输入字符串
pyautogui.write("Hello, World!")

# 按下并释放单个键
pyautogui.press("enter")

# 组合键(例如Ctrl+C)
pyautogui.hotkey("ctrl", "c")

使用pynput控制鼠标和键盘

pynput提供了更底层的控制,支持监听和模拟输入。

安装方法:

复制代码
pip install pynput

控制鼠标:

复制代码
from pynput.mouse import Controller

mouse = Controller()

# 移动鼠标到坐标(100, 100)
mouse.position = (100, 100)

# 点击鼠标左键
mouse.click(Button.left)

控制键盘:

复制代码
from pynput.keyboard import Controller

keyboard = Controller()

# 按下并释放键
keyboard.press("a")
keyboard.release("a")

# 输入字符串
keyboard.type("Hello, World!")

使用keyboard库控制键盘

keyboard库专注于键盘控制,支持监听和模拟按键。

安装方法:

复制代码
pip install keyboard

模拟键盘输入:

复制代码
import keyboard

# 输入字符串
keyboard.write("Hello, World!")

# 按下并释放键
keyboard.press_and_release("enter")

# 组合键
keyboard.send("ctrl+shift+esc")

使用mouse库控制鼠标

mouse库提供了简单的鼠标控制功能。

安装方法:

复制代码
pip install mouse

模拟鼠标操作:

复制代码
import mouse

# 移动鼠标到坐标(100, 100)
mouse.move(100, 100)

# 点击鼠标左键
mouse.click("left")

# 拖动鼠标
mouse.drag(100, 100, 200, 200)

注意事项

  1. 权限问题:某些操作系统可能需要管理员权限才能模拟输入。
  2. 安全性:自动化脚本可能被某些应用程序或系统阻止。
  3. 错误处理:建议添加异常处理,避免脚本无法退出。

以上方法提供了多种控制鼠标和键盘的方式,可以根据具体需求选择合适的库。

相关推荐
SiYuanFeng1 分钟前
Colab复现 NanoChat:从 Tokenizer(CPU)、Base Train(CPU) 到 SFT(GPU) 的完整踩坑实录
python·colab
炸炸鱼.1 小时前
Python 操作 MySQL 数据库
android·数据库·python·adb
_深海凉_2 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
AC赳赳老秦2 小时前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
zhaoshuzhaoshu2 小时前
Python 语法之数据结构详细解析
python
AI问答工程师3 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
zfan5204 小时前
python对Excel数据处理(1)
python·excel·pandas
小饕4 小时前
我从零搭建 RAG 学到的 10 件事
python
老歌老听老掉牙4 小时前
PyQt5+Qt Designer实战:可视化设计智能参数配置界面,告别手动布局时代!
python·qt
格鸰爱童话4 小时前
向AI学习项目技能(六)
java·人工智能·spring boot·python·学习