You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为<input type="image">模拟带指定坐标的click()提交表单?

问题:程序化触发图片提交按钮的指定坐标点击并提交表单

在MDN的图片类型表单示例页面中,手动点击彩色图片按钮时,URL会自动带上点击的坐标参数;但通过document.querySelector("input").click()语法触发点击时,URL里的坐标始终是x=0&y=0。我希望通过浏览器控制台或用户脚本,实现程序化点击该按钮并让URL显示指定的坐标值。

已尝试的方法

  • 触发MouseEvent事件:
document.querySelector("input").dispatchEvent(new MouseEvent("click", {
  x: 55, // 也尝试过`offsetX`和`clientX`属性
  y: 55 
}));

查阅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();

手动点击这个div可以得到正确的坐标参数,但调用.click()方法无效;将div放入input元素内部,事件冒泡后坐标仍为(0, 0)。

此外还尝试过“通过坐标获取对应元素并点击”的方案,其效果和直接调用input的click()方法一致,无法满足需求。

有评论提到这类操作可能被用于诱导广告点击,因此被浏览器限制无法实现,想问是否真的没有可行方案?目前试过的其他方案仅能模拟点击动作,无法触发表单提交并在URL中携带点击坐标参数。


内容的提问来源于stack exchange,提问作者user900901

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:45:37