繁体   English   中英

如何使用 JavaScript 触发“isTrusted=true”点击事件?

[英]How to trigger an ‘isTrusted=true’ click event using JavaScript?

我正在尝试使用 Chrome 扩展程序模拟用户点击和鼠标移动。

例如:
在我的内容脚本中有一个按钮点击。

document.querySelector("SOME_SELECTOR").click();

此行触发具有以下属性的点击事件:

MouseEvent {isTrusted: false}

如何在 isTrusted 属性为真时触发 MouseEvent?

您可以使用调试器界面注入可信事件。

chrome.debugger.attach(target, "1.2", function() {
    chrome.debugger.sendCommand(target, "Input.dispatchMouseEvent", arguments)
})

https://developer.chrome.com/extensions/debugger

https://chromedevtools.github.io/devtools-protocol/1-2/Input

我不确定这是否可能,因为它是一个只读属性,它准确地表示您要伪造的内容,即事件是来自最终用户还是来自脚本。 曾经存在基于浏览器的差异,(IE 曾经将所有事件都视为可信的)但我不知道现在是否仍然如此。

https://developer.mozilla.org/en-US/docs/Web/API/Event

可能仍有解决此问题的方法,如本主题中针对 firefox 所述: Firefox 扩展生成的事件是否“可信”?

但是您必须查看 chrome 文档以检查它们是否具有将事件委托回窗口的类似方法,因为它确实提到扩展事件在某些情况下是/可以变得可信。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM