2011-01-27 2 views
0

브라우저 : 호환성보기가 설정된 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 : I가 시도Click DIV가 IE에서 "실제"클릭 작업을하지 않음

<DIV class=x-grid3-check-col onclick=booleanInterviewColumnRender_OnClick(this);>&nbsp;</DIV> 

:
- 사업부의 부모의 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 호출을 직접 실행하는 것입니다. 당신이 당신의 div 요소에 ID를 넣어 경우

: 먼저 콘솔에서 시도 할 수 있습니다 (elementID

당신은

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

전화 그리고 그것은 당신이 당신의 속성에 넣어 다시 온 클릭 호출을 호출합니다 자바 스크립트가 콜백을 호출하는지 확인하십시오.

그러나 WatiN mehod. Element의 FireEvent가 같은 일을한다고 생각합니다. 따라서이 해결 방법이 필요한 이유를 이해할 수 없습니다.

+0

문제는 요소에 ID를 추가 할 수 없다는 것입니다. 응용 프로그램이 전혀 다른 팀에 의해 개발되었습니다. – user431712

+0

당신은 가지고 있지 않으면 항상 자바 스크립트에서 요소를 가져올 방법이 있습니다. 귀하의 페이지에서 JS 프레임 워크 (jQuery와 같은)를 사용하면 이전 스타일 인 http://tinyurl.com/6baunvy로 돌아갈 수 있습니다. 또는 동적으로 페이지에 jQuery를 삽입 할 수 있습니다. –

+0

아이를 선택하려고 할 때 요소에 약간의 JS 오류가 있습니다. 모든 대안을 시도했지만 성공하지는 못했습니다. 닫힌 질문 – user431712

관련 문제