从我的 chrome 扩展模拟页面点击

Simulating a click on a page from my chrome extention

我有一个 chrome 扩展程序可以找到 window 的 pageXpageY,有没有办法触发目标的点击事件元素,如果我想在搜索栏上单击一次,请在 google 上说 如果找到正确的 pageX 和 pageY。

我希望能够从我的扩展程序计算出的值中单击按钮等,但我似乎无法通过内容-scripts.js让它工作,所以它有办法发送 pageX 和 pageY background.js 脚本。

像这样:

chrome.action.onClicked.addListener(function (tab) {
       chrome.tabs.executeScript(tab.id,{
           code: 'document.activeElement.click()'
       });
    });

您可以使用目标 DOM 元素的 .click() 方法在 JavaScript 中模拟点击事件。

使用 document.querySelector() than it is to use X, Y coordinates, but you can do so using document.elementFromPoint() 与页面交互通常 easier/more 有意义。

function clickElementAtCoordinate(x, y) {
  const el = document.elementFromPoint(x, y);
  el.click();
}
``