python自动化程序
该代码是一个 Python 自动化脚本,功能是根据键盘操作控制鼠标的点击动作。以下是对代码的详细说明:
核心功能:
-
获取鼠标位置:
- 按下
F2
键时,读取并打印当前鼠标的坐标位置。
- 按下
-
自动点击鼠标:
- 按下
F3
键时,启动或停止自动点击功能。 - 如果启用,程序会不断将鼠标移动到记录的位置
(x, y)
并进行左键单击,每次点击后打印鼠标点击次数和当前坐标。
- 按下
-
退出程序:
- 按下
Esc
键时,程序会终止执行。
- 按下
关键变量:
is_running
:控制自动点击功能是否启动的标志。x, y
:存储当前鼠标的位置坐标。runNum
:记录鼠标点击的次数。mouse
:通过pynput.mouse.Controller()
控制鼠标的对象。
程序的工作流程:
- 程序启动时打印
"程序已启动"
。 - 主循环:
- 如果
is_running
为True
,则持续获取鼠标位置并点击该位置。 - 按下
F2
键时,获取当前鼠标坐标并停止自动点击。 - 按下
F3
键时,切换自动点击的状态(启动或停止)。 - 按下
Esc
键时,退出程序
- 如果
import pyautogui
import time
import keyboard as kb
from pynput.mouse import Button, Controller
is_running = False
x, y = 0, 0
runNum = 0
mouse = Controller()
def get_mouse_position():
global x, y
x, y = pyautogui.position()
def mouse_position_and_click():
global runNum
global mouse
mouse.position = (x, y)
runNum += 1
time.sleep(0.05)
mouse.click(Button.left, 1)
print(f"鼠标点击坐标: ({x}, {y},鼠标点击次数: {runNum})")
# pyautogui.click(x, y) 效率慢 是
if __name__ == '__main__':
print("程序已启动")
while True:
if is_running:
get_mouse_position()
mouse_position_and_click()
if kb.is_pressed('f2'):
is_running = False
print("按下了f2键,读取鼠标坐标")
get_mouse_position()
print(f"鼠标当前坐标: ({x}, {y})")
time.sleep(1)
if kb.is_pressed('f3'):
if is_running:
is_running = False
print("按下了f3键,停止鼠标点击")
time.sleep(1)
continue
else:
is_running = True
print("按下了f3键,开始鼠标点击")
time.sleep(1)
continue
if kb.is_pressed('esc'):
print("Exiting...")
break