浏览器:打开兼容性视图的Internet Explorer 8(已测试的应用程序是为IE7编写的)。我有一个div元素,看起来像浏览器中的一个复选框。当我手动点击它时,复选框会自动勾选。以下是这样的结果:http://img593.imageshack.us/g/divunchecked.jpg/当手动单击时,div元素也会将其类属性从“x-grid3-check-col”更改为“x-grid3-check-col-on”。当我运行Watin测试并进行Div.Click()操作时,元素不会自行检查。该元素的HTML:
<DIV class=x-grid3-check-col onclick=booleanInterviewColumnRender_OnClick(this);> </DIV>
我试过:
- 点击div的父母中的2个(它被放置在另外2个div中)
- Div.MouseDown();
Div.MouseUp();
- Div.Firevent("onclick");
- NameValueCollection eventProperties = new NameValueCollection();
eventProperties.Add("button", "0");
Div.FireEvent("onmousedown", eventProperties); //left mouse click
- Div.SetAttributeValue("class", "x-grid3-check-col-on");
Div.Refresh();
没有运气。
任何想法如何解决这个问题都会很棒。
答案 0 :(得分:2)
最后一种解决方法是直接运行javascript调用。
如果你在div元素上添加了一个id:elementID
然后你打电话
div.Document.Eval("document.getElementById(\"elementID\").fireEvent(\"onclick\")");
它将调用您放入属性的onclick回调(您可以先在控制台中尝试确保javascript调用您的回调)。
然而,我认为WatiN mehod .FireEvent on the Element会做同样的事情,所以我不明白为什么你需要这个解决方法。