在GWT站点上模拟Click not firing事件

时间:2016-01-29 14:56:18

标签: javascript jquery html gwt vaadin

我正在尝试使用 VAADIN 作为框架在 GWT 构建网站的客户端进行自动化测试。

我已经能够遍历所有DOM元素并找到包含“按钮”的div。 (它不是一个按钮,只是文本样式看起来像一个按钮。)我尝试了click()方法,但它永远不会触发。

这只能在客户端完成。我无法调整源代码以包含任何ID或名称。我只有找到按钮的方法。

这是我的便笺簿中的Javascript代码。这确实找到了包含“按钮”的div。

var bDivClass = "v-rasterlayout-slot";
var divs = document.getElementsByClassName(bDivClass);

for (var i = 0, len = divs.length; i < len; i++) {
     divs[i].click();
    if(divs[i].textContent.localeCompare("Submit Query") == 0){
        console.log("Submit Button found \n" + divs[i].innerHTML);
        divs[i].click();
    }
}

输出: enter image description here

如果我检查元素,我可以看到有几个DIV附加了点击监听器。

enter image description here

这是事件监听器。对于孩子和父母来说都是一样的。

enter image description here

如何模拟该div上的点击?

1 个答案:

答案 0 :(得分:0)

在您的情况下,getElementsByClassName()仅返回一个没有附加事件侦听器的顶级in-context元素。如果要模拟对该元素的每个子元素的单击,则需要迭代 childs 。你的循环实际上并没有这样做。

相关问题