js 模拟鼠标拖动

Posted rubekid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 模拟鼠标拖动相关的知识,希望对你有一定的参考价值。

window.addEventListener(‘message‘, function (event) {
  if (event.source != window) return;

  if (event.data.event_type && (event.data.event_type == "mockVerify")) {
    mockVerify();
  }
})



function mockVerify(){
    console.log("mockVerify");

    var btn=document.getElementById("nc_1_n1z");
    var mousedown = document.createEvent("MouseEvents");
    var rect = btn.getBoundingClientRect();
    var x = rect.x;
    var y = rect.y;
    mousedown.initMouseEvent("mousedown",true,true,window,0,  
            x, y, x, y,false,false,false,false,0,null);
    btn.dispatchEvent(mousedown);
    
    var dx = 0;
    var dy = 0;
    var  interval = setInterval(function(){
        var mousemove = document.createEvent("MouseEvents");
        var _x = x + dx;
        var _y = y + dy;
        mousemove.initMouseEvent("mousemove",true,true,window,0,  
                _x, _y, _x, _y,false,false,false,false,0,null);
        btn.dispatchEvent(mousemove);
        
        btn.dispatchEvent(mousemove);
        if(_x - x >= 300){
            clearInterval(interval);
            var mouseup = document.createEvent("MouseEvents");
            mouseup.initMouseEvent("mouseup",true,true,window,0,  
            _x, _y, _x, _y,false,false,false,false,0,null);
            btn.dispatchEvent(mouseup);
            
            setTimeout(function(){
                if(btn.className.indexOf(‘btn_ok‘) > -1){
                    console.log(btn.className);
                    document.getElementById("verify").click();
                    
                }
            }, 1000);
        }
        else{
            dx += Math.ceil(Math.random() * 50);
            console.log(dx);
        }
    }, 30);
    
    
}

 

以上是关于js 模拟鼠标拖动的主要内容,如果未能解决你的问题,请参考以下文章

模拟鼠标拖动事件 PyQt5

python模拟鼠标拖动操作的方法

[突发奇想的JS小案例] 2 重力模拟

[突发奇想的JS小案例] 2 重力模拟

(急,高手)js鼠标点击图片放大后再点击关闭代码

python模拟鼠标拖动教程