在使用robotJS过程中,发现了两个鼠标移动方法,moveMouse和moveMouseSmooth
其中moveMouse将会立即令鼠标出现在指定位置
moveMouseSmooth将会缓缓地移动鼠标到指定位置,起到更加像人类操作的目的。
但该方法在高分辨率屏幕(2k屏幕、4k屏幕下),移动速度过于缓慢。使用体验较差
那么有没有办法能够调整速度呢?
经过反复查看官网api,充分使用搜索引擎,均没有找到合适的方法
(github其官方文档中,该方法仅有两个参数)
因为盲猜其实现smooth是通过分点不断调用鼠标移动实现的,于是开启一言不合看源码模式
经过查看其源码中的方法入口处,发现确实存在第三个参数也就是speed,果然api里写的都是冰山一角。
于是开始顺藤摸瓜继续看源码。研究其实现,没办法,总得知道这个参数怎么使用
当然很轻易的在mouse.c文件中找到了smoothlyMoveMouse方法,该方法即为具体实现,可以看到speed参数是一个延时,
然后顺腾摸瓜,找到其应用,默认为3.0.那么我们在使用中传入一个比较小的值即可
最后使用方法
robot.moveMouseSmooth(left, top, 1);