使用JS模拟单击GMail div按钮

Mik*_*tis 6 javascript gmail click simulate

我想模拟点击GMail COMPOSE按钮使用JS而不使用JQuery.

这是按钮:

<div class="T-I J-J5-Ji T-I-KE L3" role="button" tabindex="0" gh="cm" 
style="-webkit-user-select: none;">COMPOSE</div>
Run Code Online (Sandbox Code Playgroud)

这是我的js:

var element = document.getElementsByClassName('T-I-KE')[0];
element.click();
Run Code Online (Sandbox Code Playgroud)

结果:undefined在所有浏览器中

图片:http://i.imgur.com/4IX9DZX.png

已经尝试过:

var event = document.createEvent("MouseEvent");
event.initEvent("click",true,true);
var element=document.getElementsByClassName("T-I-KE")[0];
element.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

结果:true.但没有任何反应.

图片:http://i.imgur.com/pwVqukP.png

Mik*_*tis 8

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

该按钮侦听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);
Run Code Online (Sandbox Code Playgroud)

  • 这对于某些按钮(例如“ compose”或“ more”)效果很好,但对其他按钮(例如右上角的“设置”)没有任何影响。经过几个小时的监视事件,我放弃了。任何人都可以以编程方式单击“设置”吗? (2认同)