从我的 chrome 扩展模拟页面点击
Simulating a click on a page from my chrome extention
我有一个 chrome 扩展程序可以找到 window 的 pageX
和 pageY
,有没有办法触发目标的点击事件元素,如果我想在搜索栏上单击一次,请在 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();
}
``
我有一个 chrome 扩展程序可以找到 window 的 pageX
和 pageY
,有没有办法触发目标的点击事件元素,如果我想在搜索栏上单击一次,请在 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();
}
``