使用JS模拟单击GMail div按钮

时间:2015-02-12 12:24:54

标签: javascript click gmail 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>

这是我的js:

var element = document.getElementsByClassName('T-I-KE')[0];
element.click();

结果:所有浏览器中都有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);

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

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

2 个答案:

答案 0 :(得分:7)

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

该按钮侦听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);

答案 1 :(得分:-1)

函数getElementsByClassName(classString)将返回元素,其类恰好是传递给它的字符串。尝试使用querySelector,就像这样

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

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