在富文本格式的web按钮上模拟点击Javascript

在富文本格式的web按钮上模拟点击Javascript,javascript,jquery,html,javascript-events,google-chrome-extension,Javascript,Jquery,Html,Javascript Events,Google Chrome Extension,我正试图通过与网页DOM交互的Chrome扩展来自动化一项任务。 我遇到的问题基本上是点击富文本格式工具栏上的按钮,类似于Gmail的撰写窗口或堆栈溢出 以Gmail的“插入链接”按钮(id::1wd)为例,我尝试了以下失败的方法: 1) 触发点击式点击() 这里的问题似乎是没有直接连接到按钮的事件侦听器 2) 获取按钮的坐标X和Y并触发鼠标事件: var evt = new MouseEvent("click", { clientX : buttonX, // where buttonX

我正试图通过与网页DOM交互的Chrome扩展来自动化一项任务。 我遇到的问题基本上是点击富文本格式工具栏上的按钮,类似于Gmail的撰写窗口或堆栈溢出

以Gmail的“插入链接”按钮(id::1wd)为例,我尝试了以下失败的方法: 1) 触发点击式点击()

这里的问题似乎是没有直接连接到按钮的事件侦听器

2) 获取按钮的坐标X和Y并触发鼠标事件:

var evt = new MouseEvent("click", { 
  clientX : buttonX, // where buttonX is the X coordinate
  clientY : buttonY  // where buttonY is the Y coordinate
});

document.dispatchEvent(evt);
3) 将焦点放在输入窗口上并触发快捷键(Ctrl+K)的键盘事件:

你知道怎么做吗


编辑:在HTML上:我检查了页面中的HTML和事件,似乎事件监听器的类型是“mousedown”,并在工具栏级别附加到总体div。我的猜测是,单击按钮会触发此工具栏级别的事件,并且会有一个函数将单击的确切按钮作为输入。不幸的是,JS代码被缩小了,所以我无法真正调试。

那么,事件侦听器是如何连接到按钮的呢?他们一定是,不知怎么的。弄清楚这一点,然后可以模拟click.use
elm.dispatchEvent
,而不是document.dispatchEvent…在什么上下文中运行上述代码?您能否添加清单和/或如何注入此代码?另外,请去掉代码段标记。感谢您的反馈,我删除了代码段标记并添加了一些HTML上下文。丹达维斯:谢谢,我明天试试。
var evt = new MouseEvent("click", { 
  clientX : buttonX, // where buttonX is the X coordinate
  clientY : buttonY  // where buttonY is the Y coordinate
});

document.dispatchEvent(evt);
var evt = new KeyboardEvent("keydown", {
  "ctrlKey": true,
  "key": "k"
});
document.dispatchEvent(evt);