Доступ к элементам DOM в C # - PullRequest
0 голосов
/ 16 июля 2009

Я использую пространство имен mshtml для доступа к элементам DOM, возвращаемым объектом COM-браузера.

Мой код примерно такой

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");

Теперь, до этого момента, myDiv - это DivElement.

Но сама веб-страница содержит больше DIV в разделе "divID". То есть существует много слоев вложенных DIV.

Но объект myDIV имеет тип mshtml.HTMLDivElement, что не позволяет мне извлекать больше DIVS в качестве его дочерних элементов.

Что я могу сделать в этом случае? Предполагая, что у меня есть больше DIV, я должен получить их вложенным способом?

1 Ответ

0 голосов
/ 02 августа 2009

Возможно, вы уже поняли это, но на всякий случай ... Вы должны быть в состоянии привести объект myDiv к интерфейсу IHTMLElement и использовать его свойство 'children' для итерации дочерних элементов myDiv.

...