Python模拟鼠标真人移动轨迹

1、pynput 控制移动版本

复制代码
import random
import time
import pynput

ctr = pynput.mouse.Controller()
window_size = (1366, 768)
step = 20
target = (1366, 768)

end = (1351, 45)

time.sleep(5)


def move_test(ctr, step, end):
    # start = ctr.position
    start = (200, 200)
    print("起始坐标:", start)
    for i in range(0, step):
        if i <= step / 2:
            dx = int(random.random() * (end[0] - start[0]) / step)
            dy = int(random.random() * (end[1] - start[1]) / step)
        else:
            dx = int(random.random() * (end[0] - start[0]) / step * 2)
            dy = int(random.random() * (end[1] - start[1]) / step * 2)
        time.sleep(random.random() * 0.001)
        print(dx, dy)
        ctr.move(dx, dy)
        print("中间坐标:", ctr.position)
    ctr.position = end
    print("结束坐标:", end)


move_test(ctr, step, end)
代码
复制代码

 

2、生成相对移动轨迹列表,可以对接任何模块,但不同控制模块移动有差异

复制代码
import random
import time

window_size = (1366, 768)
step = 20
start_pos = (200, 200)  # 起始坐标
target_pos = (1351, 45)  # 终点坐标

relative_pos_list = []


def move_pos(start_pos, target_pos, step=10):
    print("起始坐标:", start_pos)
    for i in range(0, step):
        if i <= step / 2:
            dx = int(random.random() * (target_pos[0] - start_pos[0]) / step)
            dy = int(random.random() * (target_pos[1] - start_pos[1]) / step)
        else:
            dx = int(random.random() * (target_pos[0] - start_pos[0]) / step * 2)
            dy = int(random.random() * (target_pos[1] - start_pos[1]) / step * 2)
        # time.sleep(random.random() * 0.001)
        print(dx, dy)
        relative_pos_list.append((dx, dy))


move_pos(start_pos, target_pos, step)
print(relative_pos_list)

# 测试
import pyautogui

time.sleep(3)
pyautogui.moveTo(start_pos)  # 先移动到起始坐标
for pos in relative_pos_list:  # 然后轨迹一段
    pyautogui.move(pos)
pyautogui.moveTo(target_pos)  # 最后进准到目标点
代码2
复制代码

 

posted @   zwnsyw  阅读(1992)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
历史上的今天:
2020-05-11 elementUI+国际化
点击右上角即可分享
微信分享提示