JavaScript模拟鼠标点击特定位置

3
我需要知道如何自动触发按钮的鼠标点击事件。 我有这个代码但它不起作用 :(
window.setInterval(function() { simulateClick(); }, 2000);
function simulateClick() { var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", false, false, window, 0, 684, 571, 684, 508, false, false, false, false, 0, null); var a; a.dispatchEvent(evt); }
谢谢。

我猜你没有初始化 a。只是简单地写了 "var a;",但你没有指定它是哪个元素。除此之外,我认为代码看起来还不错。 - Mamsaac
如果您想进行测试模拟,可以使用Selenium http://seleniumhq.org/。 - ariel
看起来你正在尝试做这个:https://dev59.com/Km025IYBdhLWcg3wNC51#6158050 - Nate
2个回答

2
如果你只想点击一个按钮,按钮元素有一个可以调用的“click”方法:click
<input type="button" id="theButton" onclick="javascript:alert('The button was clicked!');" value="A button" />

<script language="javascript">

setTimeout(function(){
    document.getElementById("theButton").click();
}, 1000); // wait one second then click the button

</script>

没有必要在特定的x、y位置“实际”模拟鼠标点击。


2
有一个需求,需要考虑输入文本时光标位置的变化。 - Jiang YD
@JiangYD 这是一个不同的问题。您可以像这样在文本框中设置光标位置:https://dev59.com/iHRB5IYBdhLWcg3wyqEd - Oliver Moran

1

我不知道在JavaScript上是否可以做到这一点,但如果您需要自动和定期点击,也许您可以使用autohotkey等外部工具来实现。


可能吗?能否自动将鼠标指针移动到网页上的某个特定位置? - Oscar
使用AutoHotkey,您可以在特定坐标上发送单击操作,请参阅此页面 - Dave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接