首页 > 解决方案 > 如何使用 Chrome 扩展程序以编程方式单击 Google Docs 中的按钮?

问题描述

我的 Chrome 扩展程序可以与谷歌文档中创建的评论气泡交互...插入文本等。

我不能做的是单击“评论”按钮来实际发布/提交评论。这可能吗?

您点击提交的 Google Docs 气泡按钮有一个类

docos-input-buttons-post

所以我试过:

$('.docos-input-buttons-post')[0].trigger('click');

和:

var simulateClick = function (elem) {
// Create our event (with options)
console.log('Simulating click with: ', elem);
// var evt = document.createEvent("MouseEvents");
// evt.initMouseEvent("click", true, true, window,
//     0, 0, 0, 0, 0, false, false, false, false, 0, null);
var evt = new MouseEvent('click', {
    bubbles: true,
    cancelable: true,
    view: window
});
// If cancelled, don't dispatch our event
    elem.dispatchEvent(evt);
    var canceled = !elem.dispatchEvent(evt);
};

var someLink = document.querySelector('.docos-input-buttons-post');
simulateClick(someLink);

要么我得到错误('不是一个函数'),要么什么都没有发生。

建议/方向赞赏!

标签: javascriptgoogle-chrome-extension

解决方案


发送mousedownmouseup

const el = document.querySelector('.docos-input-buttons-post');
el.dispatchEvent(new MouseEvent('mousedown'));
el.dispatchEvent(new MouseEvent('mouseup'));

推荐阅读