pyautogui
是一个 Python 库,可以让你用 Python 脚本控制鼠标和键盘。它适用于自动化桌面图形用户界面(GUI)的任务,比如自动化测试、游戏脚本或任何需要模拟用户输入的程序。
以下是使用 pyautogui
的一些基础示例:
- 安装
pyautogui
:pip install pyautogui
- 移动鼠标到指定屏幕坐标:
import pyautogui pyautogui.moveTo(100, 100, duration=1) # 移动到 (100, 100) 坐标,用时 1 秒
- 模拟鼠标点击:
pyautogui.click() # 在当前位置点击鼠标 pyautogui.click(200, 200) # 在 (200, 200) 坐标点击鼠标
- 模拟键盘输入:
pyautogui.typewrite('Hello, world!', interval=0.25) # 模拟键盘输入,每个按键间隔 0.25 秒
- 按下或释放键盘按键:
pyautogui.press('enter') # 按下并释放 Enter 键 pyautogui.keyDown('shift') # 按下 Shift 键 pyautogui.keyUp('shift') # 释放 Shift 键
- 获取屏幕尺寸:
width, height = pyautogui.size() # 获取屏幕宽度和高度
- 截屏并保存:
screenshot = pyautogui.screenshot() # 截取全屏 screenshot.save('screenshot.png') # 保存截图为文件
请注意,使用 pyautogui
时,建议先进行一些基础设置,如设置延迟,以防止操作过快导致出错。例如:
pyautogui.PAUSE = 1 # 设置每次操作之间的延迟为 1 秒
pyautogui.FAILSAFE = True # 启用故障安全模式,将鼠标移动到屏幕的四个角中的任何一个来暂停脚本
在使用 pyautogui
进行自动化操作时,请确保操作符合当地法律法规,不侵犯他人权益,并注意个人信息和数据安全。
要获取鼠标的当前位置,你可以使用 pyautogui
库中的 position()
函数。以下是一个简单的示例:
import pyautogui
# 获取当前鼠标的 x, y 坐标
x, y = pyautogui.position()
print(f"当前鼠标位置: X={x}, Y={y}")
这段代码会打印出当前鼠标在屏幕上的 x 和 y 坐标。请注意,这些坐标是相对于屏幕左上角的像素位置。
如果你想要持续监测鼠标位置,可以使用一个循环:
import pyautogui
import time
try:
while True:
x, y = pyautogui.position()
position_str = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
print(position_str, end='')
print('\b' * len(position_str), end='', flush=True)
time.sleep(0.1) # 每隔 0.1 秒更新一次
except KeyboardInterrupt:
print('\nDone.') # 按下 Ctrl+C 终止循环
这段代码会实时打印出鼠标的位置,并且每 0.1 秒更新一次。按下 Ctrl+C 可以终止循环。
请确保在使用 pyautogui
时已经正确安装了该库,并且在运行这些脚本时你的鼠标在屏幕上是可见的。
在 pyautogui
中,要实现三连击,你可以使用 click()
函数连续三次。以下是一个简单的示例,它会在当前鼠标位置执行三次点击操作:
import pyautogui
# 在当前鼠标位置执行三连击
for _ in range(3):
pyautogui.click()
如果你想要在特定的坐标位置执行三连击,可以指定 x 和 y 坐标:
import pyautogui
# 在指定坐标位置 (100, 100) 执行三连击
x, y = 100, 100
for _ in range(3):
pyautogui.click(x, y)
你还可以控制点击的间隔时间,通过 interval
参数来设置两次点击之间的延迟:
import pyautogui
# 在指定坐标位置 (100, 100) 执行三连击,每次点击间隔 0.25 秒
x, y = 100, 100
for _ in range(3):
pyautogui.click(x, y)
pyautogui.sleep(0.25) # 等待 0.25 秒后再进行下一次点击
在上面的代码中,pyautogui.sleep(0.25)
用于在每次点击后添加一个 0.25 秒的延迟。这样,你可以控制点击的速度。
在 pyautogui
中,要实现三连击,你可以使用 click()
函数连续三次。以下是一个简单的示例,它会在当前鼠标位置执行三次点击操作:
import pyautogui
# 在当前鼠标位置执行三连击
for _ in range(3):
pyautogui.click()
如果你想要在特定的坐标位置执行三连击,可以指定 x 和 y 坐标:
import pyautogui
# 在指定坐标位置 (100, 100) 执行三连击
x, y = 100, 100
for _ in range(3):
pyautogui.click(x, y)
你还可以控制点击的间隔时间,通过 interval
参数来设置两次点击之间的延迟:
import pyautogui
# 在指定坐标位置 (100, 100) 执行三连击,每次点击间隔 0.25 秒
x, y = 100, 100
for _ in range(3):
pyautogui.click(x, y)
pyautogui.sleep(0.25) # 等待 0.25 秒后再进行下一次点击
在上面的代码中,pyautogui.sleep(0.25)
用于在每次点击后添加一个 0.25 秒的延迟。这样,你可以控制点击的速度。