此问题在此处已有答案:
How to simulate a click by using x,y coordinates in JavaScript?(5个答案)
55分钟前就关门了。
https://mdn.github.io/learning-area/html/forms/image-type-example/xy-coordinates-example.html
请注意,当按一下页面上的彩色方块时,URL会显示按一下的坐标。
当使用document.querySelector("input").click()
时,URL显示x=0&y=0
的坐标。
我想以编程方式单击(使用控制台或用户脚本/*monkey),使URL显示我指定的坐标。
我尝试过的方法:
document.querySelector("input").dispatchEvent(new MouseEvent('click', {
'x': 55, //and offsetX and clientX
'y': 55
}))
https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/MouseEvent注意到这些并不实际移动光标,这很好。
我试着在它上面放一个div,把点击传递过去。
const newdiv = document.createElement("div");
newdiv.style.position = "fixed";
newdiv.style.height = "1px";
newdiv.style.width = "1px";
newdiv.style.top = "55px";
newdiv.style.left = "55px";
newdiv.style.pointerEvents = "none";
document.querySelector("div").prepend(newdiv);
newdiv.click();
它适用于手动点击,但.click()
不执行任何操作(因为它是同级?)document.querySelector("input").prepend(newdiv);
将冒泡,但它仍然是0,0
如何单击坐标?
1条答案
按热度按时间fzsnzjdm1#
要做到这一点,你可以使用一个MouseEvent,并设置它的x和y坐标。我还添加了一个函数来检测鼠标移动,以显示它的工作。