本文目录导读:

我来介绍几种实现鼠标自动操作脚本的方法,从简单到复杂:
Python + PyAutoGUI(推荐)
安装
pip install pyautogui pillow
基本示例
import pyautogui
import time
# 获取屏幕尺寸
screen_width, screen_height = pyautogui.size()
print(f"屏幕尺寸: {screen_width}x{screen_height}")
# 模拟鼠标移动
pyautogui.moveTo(500, 500, duration=1) # 移动到(500,500)
# 模拟点击
pyautogui.click(500, 500) # 点击
pyautogui.doubleClick(500, 500) # 双击
pyautogui.rightClick(500, 500) # 右键
# 拖拽操作
pyautogui.drag(100, 0, duration=0.5) # 向右拖拽100像素
# 识别图片并点击
try:
button_pos = pyautogui.locateOnScreen('button.png')
if button_pos:
pyautogui.click(button_pos)
except:
print("未找到目标图片")
高级脚本示例
import pyautogui
import time
import random
def human_like_move(x, y):
"""模拟人类移动轨迹"""
# 添加随机延迟
time.sleep(random.uniform(0.1, 0.3))
# 曲线移动
pyautogui.moveTo(x, y,
duration=random.uniform(0.2, 0.5),
tween=pyautogui.easeOutQuad)
def auto_click_workflow():
"""自动点击工作流"""
# 安全机制:防止失控
pyautogui.FAILSAFE = True
for i in range(5):
# 检查是否按下了紧急停止键
if pyautogui.onScreen(0, 0):
# 模拟用户操作
x = random.randint(200, 800)
y = random.randint(200, 600)
human_like_move(x, y)
pyautogui.click()
time.sleep(random.uniform(1, 3))
AutoHotkey(Windows)
基本语法
; 定义热键
F1::Click ; 按F1点击
F2::MouseMove, 500, 500 ; 移动鼠标到指定位置
F3::Send, Hello World ; 发送文本
; 循环点击
^j:: ; Ctrl+J
loop 10
{
Click
Sleep, 1000
}
return
; 图像识别并点击
^g::
CoordMode, Pixel, Screen
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, target.png
if (ErrorLevel = 0)
{
Click, %FoundX%, %FoundY%
}
return
实用脚本
#Persistent
SetTimer, AutoClick, 5000 ; 每5秒执行一次
AutoClick:
MouseGetPos, x, y
Click, %x%, %y%
ToolTip, 已点击 (%x%, %y%)
SetTimer, RemoveToolTip, 2000
return
RemoveToolTip:
ToolTip
return
F10::Pause ; F10暂停
F11::ExitApp ; F11退出
Selenium(网页自动化)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time
# 初始化浏览器
driver = webdriver.Chrome()
driver.get("https://example.com")
# 等待页面加载
time.sleep(2)
# 模拟鼠标操作
element = driver.find_element(By.ID, "button-id")
action = ActionChains(driver)
# 移动到元素并点击
action.move_to_element(element).click().perform()
# 拖拽操作
source = driver.find_element(By.ID, "draggable")
target = driver.find_element(By.ID, "droppable")
action.drag_and_drop(source, target).perform()
# 右键点击
action.context_click(element).perform()
# 模拟复杂操作
action.click_and_hold(element).move_by_offset(100, 0).release().perform()
driver.quit()
按键精灵(简单易用)
// 基础脚本
Delay 1000
MoveTo 500, 500
LeftClick 1
Delay 500
// 循环操作
For 10
MoveTo 500, 500
LeftClick 1
Delay 2000
EndFor
// 查找图像
FindPic 0,0,1920,1080,"目标.png",0.9,intX,intY
If intX > 0 And intY > 0
MoveTo intX, intY
LeftClick 1
EndIf
安全最佳实践
import pyautogui
import threading
class MouseBot:
def __init__(self):
self.running = False
self.emergency_stop = False
def start(self):
"""启动自动化"""
self.running = True
# 启动紧急停止监听
threading.Thread(target=self._emergency_listener, daemon=True).start()
def _emergency_listener(self):
"""监听紧急停止键"""
import keyboard
keyboard.add_hotkey('ctrl+shift+q', self.stop)
keyboard.wait('ctrl+shift+q')
def stop(self):
"""停止所有操作"""
self.running = False
self.emergency_stop = True
print("紧急停止!")
def human_click(self, x, y):
"""安全的点击操作"""
if not self.running:
return
# 安全检查
if not pyautogui.onScreen(x, y):
print("坐标超出屏幕范围")
return
# 模拟人类操作
pyautogui.moveTo(x, y, duration=0.2)
time.sleep(0.1)
pyautogui.click()
使用建议
-
开始前准备
- 设置安全机制(紧急停止键)
- 测试环境先运行
- 备份重要数据
-
调试技巧
# 显示鼠标位置 pyautogui.displayMousePosition() # 截图调试 pyautogui.screenshot('debug.png', region=(0, 0, 500, 500)) -
避免检测
- 添加随机延迟
- 模拟人类移动轨迹
- 避免固定模式
根据你的具体需求(游戏辅助、办公自动化、网页操作等),选择合适的工具和方法。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播