5

如何使用 javascript 或 jquery 模拟 x/y 坐标的点击?

我将多次使用该脚本,并且我希望该脚本先单击位置一,然后单击位置二,然后单击位置三,然后单击位置四,依此类推。

最好不移动鼠标光标,但如果它必须移动,那也很好。

4

2 回答 2

20

这实际上可以通过该document.elementFromPoint方法来完成。一个 jQuery 示例:

function simulateClick(x, y) {
    jQuery(document.elementFromPoint(x, y)).click();
}
simulateClick(100, 250);
simulateClick(400, 250);

编辑:这是一个工作示例:http: //jsfiddle.net/z5YjY/

于 2012-04-24T20:34:13.957 回答
5

在第二次拍摄时,我会分享我的经验,并更新 Prestaul 的答案。

在大多数情况下,您不只是想点击一个元素来引发“onclick”事件,而是想将点击信息用于某些事情(例如:将滑块移到那里,或者在那个位置放一个弹出窗口)地方)。

我主要使用 vanilla js,但它与 $ 很好地融合在一起。

function simulateClick(x, y) {
    var clickEvent= document.createEvent('MouseEvents');
    clickEvent.initMouseEvent(
    'click', true, true, window, 0,
    0, 0, x, y, false, false,
    false, false, 0, null
    );
    document.elementFromPoint(x, y).dispatchEvent(clickEvent);
}

基本上,这将通过事件传递正确的 pageX / pageY,以供进一步使用。

我也更新了小提琴,以展示这些坐标的使用:http: //jsfiddle.net/V4CdC/

于 2013-10-24T15:40:08.247 回答