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

如何用PyAutoGUI实现中心密集的放射状随机点击模式?

实现PyAutoGUI人类模拟点击模式的高效方案

要模拟人类“中心密集、边缘稀疏”的点击模式,最贴合且高效的方式是利用**高斯分布(正态分布)**生成随机偏移量——这完全匹配人类点击时的误差规律:绝大多数点击靠近目标中心,仅少数会出现较大偏离。

基础实现代码

仅需借助Python标准库的random模块就能完成,无需额外安装依赖:

import pyautogui
import random

def human_like_click(center_x, center_y, std_dev=3):
    # 生成高斯分布的偏移量,std_dev控制误差范围(值越大,偏离中心的概率越高)
    offset_x = random.gauss(0, std_dev)
    offset_y = random.gauss(0, std_dev)
    # 计算最终点击坐标
    target_x = center_x + offset_x
    target_y = center_y + offset_y
    # 执行点击
    pyautogui.click(target_x, target_y)

# 调用示例:传入你的目标中心坐标pos.x和pos.y
human_like_click(pos.x, pos.y)

增强真实感的进阶优化

如果需要更贴近真实人类的操作习惯,还可以添加鼠标移动过程和微小延迟:

import pyautogui
import random

def human_like_click(center_x, center_y, std_dev=3):
    offset_x = random.gauss(0, std_dev)
    offset_y = random.gauss(0, std_dev)
    target_x = center_x + offset_x
    target_y = center_y + offset_y
    
    # 模拟人类移动鼠标的过程(持续时间随机在0.1-0.3秒)
    pyautogui.moveTo(target_x, target_y, duration=random.uniform(0.1, 0.3))
    # 点击前的微小停顿(模拟人类确认位置的反应时间)
    pyautogui.sleep(random.uniform(0.05, 0.15))
    pyautogui.click()

# 调用示例
human_like_click(pos.x, pos.y)

参数说明

  • std_dev:高斯分布的标准差,默认设为3像素。数值越大,点击偏离中心的可能性和幅度越高;数值越小,点击越集中在中心区域,可根据你的需求调整。
  • 移动持续时间和停顿时间的范围,也可以根据场景灵活修改,比如需要更“急躁”的点击行为就缩短时间范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:25:20