如何让Javascript程序模拟鼠标点击?

如何让Javascript程序模拟鼠标点击?,javascript,mouseevent,Javascript,Mouseevent,我想让一个JavaScript程序模拟鼠标在某个时间间隔内的任何位置单击鼠标。 我知道 if(mouseIsPressed) 和 if(mouseDown) 命令,但是否有任何命令使我的鼠标自动单击,可能是某种强制鼠标向下命令?如果您只想单击一个按钮,正如我在评论中看到的那样,而不只是每隔一段时间用HtmleElement.click()单击特定的按钮 像这样: var myButton=document.getElementById('my-button'); //举个例子 var-

我想让一个JavaScript程序模拟鼠标在某个时间间隔内的任何位置单击鼠标。 我知道

if(mouseIsPressed) 

if(mouseDown) 

命令,但是否有任何命令使我的鼠标自动单击,可能是某种强制鼠标向下命令?

如果您只想单击一个按钮,正如我在评论中看到的那样,而不只是每隔一段时间用HtmleElement.click()单击特定的按钮

像这样:

var myButton=document.getElementById('my-button');
//举个例子
var-clickCount=0;
var clickStatus=document.getElementById('clicks');
setInterval(函数(){
我的按钮。单击();
clickStatus.innerText=++clickCount;
},2000)
我的按钮

单击:0

如果您只想单击一个按钮,正如我在评论中看到的那样,而不仅仅是使用HtmleElement.click()间隔单击特定的按钮

像这样:

var myButton=document.getElementById('my-button');
//举个例子
var-clickCount=0;
var clickStatus=document.getElementById('clicks');
setInterval(函数(){
我的按钮。单击();
clickStatus.innerText=++clickCount;
},2000)
我的按钮
单击:0

可用于在当前鼠标位置识别最上面的元素

将其与mousemove侦听器相结合,以跟踪鼠标在页面中的位置

var mousePos ={x:0,y:0}


setInterval(function(){  
  document.elementFromPoint(mousePos.x, mousePos.y).click()
}, 2000)

document.addEventListener('mousemove', function(e){
  mousePos.x = e.clientX;
  mousePos.y = e.clientY;  
});
可用于在当前鼠标位置识别最上面的元素

将其与mousemove侦听器相结合,以跟踪鼠标在页面中的位置

var mousePos ={x:0,y:0}


setInterval(function(){  
  document.elementFromPoint(mousePos.x, mousePos.y).click()
}, 2000)

document.addEventListener('mousemove', function(e){
  mousePos.x = e.clientX;
  mousePos.y = e.clientY;  
});


如果你想做一些类似cookieclicker的事情,你应该使用timeout。我的意思是,如果你想每n秒运行一个函数,你应该设置一个超时。好的,我会对超时做一些研究,如果我能解决我的问题,我会回答我自己的问题。这取决于,你想做什么?可以在可以选择的任何图元上模拟单击事件。如果没有涉及html,只需手动触发单击处理程序。你是什么意思,我对这个有点陌生。如果你想做类似cookie clicker的事情,你应该使用timeout。我的意思是,如果你想每n秒运行一个函数,你应该设置一个超时。好的,我会对超时做一些研究,如果我能解决我的问题,我会回答我自己的问题。这取决于,你想做什么?可以在可以选择的任何图元上模拟单击事件。如果没有涉及html,只需手动触发单击处理程序。你是什么意思,我对这有点陌生。那么你认为这可以在画布中模拟矩形的单击吗?另外,单击时间部分位于此处clickStatus.innerText=++clickCount;},2000)在2000部分中?确保只需更改
myButton
以指向画布中的元素。只要它是一个HTML元素,它就应该工作得很好。2000是每个间隔==2秒之间等待的毫秒数。谢谢,这是我想的,但我想我应该先和你核实一下。那么你认为这在画布中可以模拟点击矩形吗?还有,单击位于此处clickStatus.innerText=++clickCount;}的部分,2000)在2000部分中?确保只需更改
myButton
以指向画布中的元素。只要它是一个HTML元素,它就可以正常工作。2000是每个间隔之间等待的毫秒数==2秒。谢谢,这是我想的,但我想我应该先和你核实一下;而e.client做的或模拟的?这是x轴上鼠标文档中的像素位置什么是mouseX或mouseY?谢谢大家,我会测试它,稍后再回来反馈它是如何工作的。如果你不跟踪鼠标的移动,你就找不到鼠标。我可以问一下e.clientX;而e.client做的或模拟的?这是x轴上鼠标文档中的像素位置什么是mouseX或mouseY?谢谢大家,我会测试它,稍后再回来反馈它是如何工作的。如果你不跟踪鼠标的运动,你就无法定位鼠标