控制鼠标和键盘

控制鼠标和键盘的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. 错误处理:建议添加异常处理,避免脚本无法退出。

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

相关推荐
张小殊.1 小时前
LoongForge TAOT 训练方案,解决MoE EP不均衡问题
人工智能·python·深度学习·机器学习·ai
玫幽倩1 小时前
2026黄河流域公安院校-电子物证单项赛(程序逆向分析+服务器取证)
运维·服务器·python·电子取证·逆向·程序分析·服务器取证
北斗落凡尘1 小时前
LangGraph 入门实战(4)
python·langchain
liwulin05061 小时前
【PYTHON】使用Selenium + ChromeDriver以及XPATH语法
开发语言·python·selenium
copyer_xyf1 小时前
Agentic RAG 实战:PostgreSQL + LangGraph 一条链路
python·postgresql·agent
动力 continue1 小时前
Python 元类与异常类:类的“制造工厂”与“报错定制师”
开发语言·python·制造
147API2 小时前
Python批量生成蒸馏数据,并发、重试、幂等和断点续跑
开发语言·jvm·python
青 春 记 忆2 小时前
零基础入门python04:用注册校验理解字典、集合和条件判断
开发语言·vscode·python·python3.11
kels88992 小时前
实战排坑:黄金实时API开发,XAUUSD Tick报文异常处理实践
开发语言·python·websocket·网络协议·信息可视化
FBI HackerHarry浩2 小时前
Pandas 库中用于分类变量独热编码(One-Hot Encoding)的函数 pd.get_dummies() 函数
开发语言·人工智能·python·pandas