python 模拟人类鼠标移动轨迹

人类移动鼠标很少直线移动,而是方向变化很大。 一个简单的测试方法是打开一些画图,选择一个宽度为 1px 的画笔,然后以中等速度绘制一些线条。

市面上常用的鼠标控制API,类似pyautogui等,鼠标的移动都可以轻而易举的判断非人类。一个网页都可以判断鼠标行为是否人类,游戏想判断此类行为也是轻而易举。

我实际使用双头键鼠盒子后,发现盒子提供的MoveTo所谓的随机曲线鼠标移动,仅仅是一条极有规律的平滑的曲线移动,这种鼠标移动行为也是极容易被检测到。(下图:使用双头盒子MoveTo连续同坐标画线10次)

着手改进双头盒子鼠标移动算法,先看下效果,已经和人类移动鼠标非常类似。

# 初始化vid,pid,屏幕分辨率
mouse = Mouse(0xC113, 0x0113, 1280, 720)
mouse.move(100, 450)
mouse.left_down()
mouse.move(800, 450)
mouse.left_up()

调整下参数,G是重力的大小,影响曲线的浮动。 W是风力的大小,也会影响曲线的浮动。 M是最大步长,也称为速度阈值。会影响鼠标的移动速度。

mouse = Mouse(0xC113, 0x0113, 1280, 720)
mouse.move(100, 400)
mouse.left_down()
mouse.move(800, 400, W=9)
mouse.left_up()
此内容查看价格为100立即购买
我的QQ:55280708
1

评论0

显示验证码