You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#开发游戏机器人:如何模拟点击截图中的特定像素

实现特定像素的模拟点击方法

假设你已经通过截图识别到目标像素的屏幕坐标(target_x, target_y),以下是不同平台下的实现方案:

Windows 平台

方案1:使用 pyautogui(简单易用)

先安装依赖:

pip install pyautogui

实现代码:

import pyautogui

# 替换为你识别到的目标坐标
target_x = 100
target_y = 200

# 移动鼠标到目标位置并点击(duration控制移动速度,可选)
pyautogui.moveTo(target_x, target_y, duration=0.1)
pyautogui.click()

方案2:使用 win32api(底层精准)

适合需要更高权限或绕过某些系统限制的场景,先安装依赖:

pip install pywin32

实现代码:

import win32api
import win32con

def simulate_click(x, y):
    # 设置鼠标位置
    win32api.SetCursorPos((x, y))
    # 模拟左键按下
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
    # 模拟左键释放
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y, 0, 0)

# 调用点击函数
simulate_click(100, 200)

Linux 平台

方案1:使用 pyautogui

安装依赖后直接调用,和Windows下代码一致:

pip install pyautogui
import pyautogui

target_x = 100
target_y = 200
pyautogui.moveTo(target_x, target_y)
pyautogui.click()

方案2:调用 xdotool 命令

如果系统已安装 xdotool(多数Linux发行版默认预装),可以通过 subprocess 调用:

import subprocess

def simulate_click(x, y):
    subprocess.run(["xdotool", "mousemove", str(x), str(y)])
    subprocess.run(["xdotool", "click", "1"])  # 1代表左键

simulate_click(100, 200)

macOS 平台

方案1:使用 pyautogui

安装依赖后代码通用:

pip install pyautogui
import pyautogui

target_x = 100
target_y = 200
pyautogui.moveTo(target_x, target_y)
pyautogui.click()

注意:需要在「系统设置 > 隐私与安全性 > 辅助功能」中给运行代码的程序(如终端、IDE)授权。

方案2:使用 Quartz 框架(原生底层)

无需额外安装系统自带框架:

from Quartz import CGEventCreateMouseEvent, CGEventPost, kCGEventMouseMoved, kCGEventLeftMouseDown, kCGEventLeftMouseUp, kCGHIDEventTap

def simulate_click(x, y):
    # 移动鼠标到目标坐标
    move_event = CGEventCreateMouseEvent(None, kCGEventMouseMoved, (x, y), 0)
    CGEventPost(kCGHIDEventTap, move_event)
    # 模拟左键按下
    down_event = CGEventCreateMouseEvent(None, kCGEventLeftMouseDown, (x, y), 0)
    CGEventPost(kCGHIDEventTap, down_event)
    # 模拟左键释放
    up_event = CGEventCreateMouseEvent(None, kCGEventLeftMouseUp, (x, y), 0)
    CGEventPost(kCGHIDEventTap, up_event)

simulate_click(100, 200)

注意事项

  • 坐标一致性:确保截图识别的坐标和系统屏幕坐标匹配,高DPI屏幕下可能需要调整缩放比例(pyautogui会自动处理多数情况)。
  • 权限问题:部分平台需要程序获取辅助功能权限才能模拟鼠标操作。
  • 安全机制:pyautogui默认开启FAILSAFE,将鼠标移动到屏幕左上角会触发程序停止,可通过pyautogui.FAILSAFE = False关闭(谨慎操作)。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 15:10:41