pyautogui库键盘鼠标自动
时间: 2025-06-15 17:26:28 浏览: 13
### 使用 PyAutoGUI 实现键盘和鼠标自动化
#### 鼠标操作
PyAutoGUI 提供了一系列函数用于控制鼠标的位置以及模拟点击行为。为了确保安全性和稳定性,在使用这些功能前可以设置全局延迟并启用失败保护机制。
通过 `pyautogui.PAUSE` 设置每次调用之间的等待时间,这有助于防止过快的操作导致程序不稳定[^2]:
```python
import pyautogui
pyautogui.PAUSE = 1 # 每次动作后暂停一秒
```
同样重要的是开启失败保护模式,当鼠标移动到屏幕角落时会触发异常从而终止脚本运行,有效避免失控情况发生:
```python
pyautogui.FAILSAFE = True
```
获取当前屏幕分辨率尺寸可以帮助定位特定位置上的元素:
```python
width, height = pyautogui.size()
print(f"Screen resolution is {width}x{height}")
```
要让鼠标指针移至指定坐标 (x,y),可利用 `moveTo()` 方法;如果希望相对当前位置偏移,则应选用 `moveRel()` 函数:
```python
# 绝对移动
pyautogui.moveTo(100, 150)
# 相对于当前位置水平向右平移50像素垂直向下平移75像素
pyautogui.moveRel(50, 75)
```
除了简单的位移外,还可以模仿真实的单击、双击甚至拖拽等交互方式:
```python
# 单击左键一次,默认参数即为左键单击
pyautogui.click()
# 双击某一点
pyautogui.doubleClick(x=300, y=400)
# 执行三连击
pyautogui.tripleClick()
# 拖动对象从起点到终点完成绘制矩形框的动作
pyautogui.dragTo(300, 400, duration=0.25)
pyautogui.dragRel(-100, -80, duration=0.25) # 基于现有位置进行拖曳
```
#### 键盘输入
针对文本录入需求,PyAutoGUI 支持发送字符序列给应用程序窗口。借助 `write()` 或者 `typewrite()` 来实现字符串的逐字打印效果[^1]:
```python
pyautogui.write('Hello world!', interval=0.25) # 字符间间隔时间为四分之一秒
```
另外也支持组合按键形式,比如 Ctrl+C 复制命令可以通过下面的方式发出:
```python
pyautogui.hotkey('ctrl', 'c')
```
还有更多高级特性如按下/释放单独按钮(`press()`)或是长时间按住某个键不放(`keydown()/keyup()`)等功能可供探索。
阅读全文
相关推荐


















