2011-01-27 54 views
0

瀏覽器:Internet Explorer 8的兼容性視圖打開(測試的應用程序是爲IE7寫的)。我有一個div元素,看起來像瀏覽器中的複選框。當我手動點擊它時,複選框會自動打勾。下面是這個樣子:http://img593.imageshack.us/g/divunchecked.jpg/當手動點擊的div元素也改變了它的類屬性的「X-GRID3檢查-COL」,以「X-GRID3檢查-COL-上」。當我運行Watin測試並執行Div.Click()操作時,元素不會自行檢查。該元素的HTML:點擊DIV不會做一個「真正的」點擊運行在IE

<DIV class=x-grid3-check-col onclick=booleanInterviewColumnRender_OnClick(this);>&nbsp;</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();
沒有運氣。

任何想法如何解決這個將是偉大的。

回答

2

最後的解決方法是直接運行的JavaScript調用。

如果你把一個id你的div元素上:elementID

然後調用

div.Document.Eval("document.getElementById(\"elementID\").fireEvent(\"onclick\")"); 

而且它會調用的onclick回調你把你的屬性(您可以在控制檯中第一次嘗試以確保JavaScript調用您的回調)。

但是,我認爲,華廷mehod .FireEvent的元素做同樣的事情,所以我不明白你爲什麼需要這個解決辦法。

+0

的問題是,我不能一個ID添加到元素,我只是測試 - 應用程序是由完全不同的團隊開發 – user431712 2011-01-28 12:47:03