2009-07-15 3 views
0

mshtml 네임 스페이스를 사용하여 COM 요소에서 반환 된 DOM 요소에 액세스하고 있습니다.C#에서 DOM 요소에 액세스

이 시점까지, myDiv는 DivElement입니다, 지금

object missing = Type.Missing; 
ie.Navigate("http://website.com", ref missing, ref missing, ref missing, ref missing); 
mshtml.HTMLDocument theDoc = (mshtml.HTMLDocument)ie.Document; 
mshtml.HTMLDivElement myDiv = (mshtml.HTMLDivElement)theDoc.getElementById("divID"); 

를 다음과 같이 내 코드가 약이다.

그러나 웹 페이지 자체에 "divID"아래에 더 많은 DIV가 포함되어 있습니다. 즉, 중첩 된 DIV의 많은 레이어가 있습니다.

그러나 myDIV 개체는 mshtml.HTMLDivElement 유형이며 더 많은 DIVS를 자식으로 검색 할 수있는 기능이 없습니다.

이 경우 어떻게해야합니까? DIV가 더 많이 있다고 가정하면 중첩 된 방식으로 검색해야합니까?

+0

당신은 페이지에있는 모든 div의 ID가 "divID" –

답변

0

이미 알고 있을지 모르겠지만 ... myDiv 객체를 IHTMLElement 인터페이스로 캐스팅하고 'children'속성을 사용하여 myDiv의 자식을 반복 할 수 있어야합니다.