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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

如果我告诉你我可以通过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入门学习资料+源码+思维导图

 

### Python 中使用 `pynput` 实现键盘鼠标控制 #### 使用 `pynput.mouse` 进行鼠标操作 通过 `pynput.mouse` 可以轻松实现鼠标的点击、移动以及滚动等功能。以下是具体方法: - **模拟鼠标点击** ```python from pynput.mouse import Button, Controller mouse = Controller() # 移动到指定位置 (x=100, y=200) mouse.position = (100, 200) # 单击左键 mouse.click(Button.left, 1) # 按住右键并释放 with mouse.pressed(Button.right): pass ``` 上述代码展示了如何设置鼠标的位置,并执行单击或按压按钮的操作[^1]。 - **监听鼠标事件** 可以利用 `Listener` 来捕获用户的鼠标活动,例如移动、点击或者滚轮动作。 ```python from pynput.mouse import Listener def on_click(x, y, button, pressed): if pressed: print(f'Mouse clicked at ({x}, {y}) with {button}') def on_scroll(x, y, dx, dy): print(f'Mouse scrolled at ({x}, {y}) by ({dx}, {dy})') with Listener(on_click=on_click, on_scroll=on_scroll) as listener: listener.join() ``` 此部分实现了当检测到特定行为时触发回调函数的功能[^4]。 #### 使用 `pynput.keyboard` 处理键盘输入 对于键盘交互而言,同样分为两大部分——发送按键指令与捕捉用户敲打的动作。 - **模拟按键序列** 下面的例子说明了怎样组合多个按键形成复合命令(比如 Ctrl+C),甚至还能保持某些修饰符处于激活状态一段时间。 ```python from pynput.keyboard import Key, Controller keyboard = Controller() # Press and release space keyboard.press(Key.space) keyboard.release(Key.space) # Type a lower case A; this will work even without holding Shift key explicitly. keyboard.tap('a') # Simultaneously press 'Shift'+'A', which produces an uppercase letter due to shift being held down during typing of 'A'. with keyboard.pressed(Key.shift): keyboard.tap('a') # Perform copy operation via shortcut keys combination i.e., Control + C keyboard.hotkey('ctrl', 'c') ``` 这些片段解释了基本字符录入之外更高级别的功能像热键绑定等[^2]。 - **监控键盘动态变化** 最后一点就是关于实时跟踪当前设备上发生的任何按键相关的事情。 ```python from pynput.keyboard import Listener def on_press(key): try: print(f'alphanumeric key {key.char} pressed') except AttributeError: print(f'special key {key} pressed') def on_release(key): print('{0} released'.format(key)) if key == Key.esc: # Stop listener when ESC is hit return False with Listener(on_press=on_press, on_release=on_release) as listener: listener.join() ``` 这里定义了一个简单的框架用于打印每次按下及松开某个键的信息直到按下ESC为止才会退出循环[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值