Javascript 用JS模拟点击GMail div按钮

Javascript 用JS模拟点击GMail div按钮,javascript,click,gmail,simulate,Javascript,Click,Gmail,Simulate,我想在没有JQuery的情况下使用JS模拟点击GMail撰写按钮 以下是按钮: <div class="T-I J-J5-Ji T-I-KE L3" role="button" tabindex="0" gh="cm" style="-webkit-user-select: none;">COMPOSE</div> 结果:在所有浏览器中未定义 图片: 已经试过了: var event = document.createEvent("MouseEvent"); even

我想在没有JQuery的情况下使用JS模拟点击GMail撰写按钮

以下是按钮:

<div class="T-I J-J5-Ji T-I-KE L3" role="button" tabindex="0" gh="cm" 
style="-webkit-user-select: none;">COMPOSE</div>
结果:
在所有浏览器中未定义

图片:

已经试过了:

var event = document.createEvent("MouseEvent");
event.initEvent("click",true,true);
var element=document.getElementsByClassName("T-I-KE")[0];
element.dispatchEvent(event);
结果:
true
。但什么也没发生


图像:

函数
getElementsByClassName(classString)
将返回元素,其类与传递给它的字符串完全相同。试着用,像这样

document.querySelector(".T-I-KE");

它将返回类为
T-I-KE
的第一个元素。如果您想要该类的所有元素,请调用函数
querySelectorAll

,两天后我终于得到了答案

该按钮侦听mouseDown和mouseUP事件。 工作代码:

var down = new MouseEvent('mousedown');
var up = new MouseEvent('mouseup');
var elem = document.getElementsByClassName("T-I-KE")[0];
elem.dispatchEvent(down);
elem.dispatchEvent(up);

我没有选择按钮的问题。我无法模拟点击它。这是你的例子:结果相同。试试这个:不工作。返回true。但什么也没发生。结果图像:请参阅关于如何监视事件的内容--这将为您节省大量的麻烦:)。这对某些按钮(如“撰写”或“更多”)很有效,但对其他按钮(如右角的“设置”)有任何影响。经过几个小时的监视,我放弃了。是否有人可以通过编程方式单击“设置”?
var down = new MouseEvent('mousedown');
var up = new MouseEvent('mouseup');
var elem = document.getElementsByClassName("T-I-KE")[0];
elem.dispatchEvent(down);
elem.dispatchEvent(up);