Получить DOM динамически отображаемой веб-страницы - PullRequest
3 голосов
/ 16 декабря 2010

Возможно ли программно получить результирующий DOM динамически отображаемой веб-страницы?Т.е. сценарий браузера для загрузки URL, рендеринга страницы (с использованием javascript и т. Д.) И выдача полученного DOM.

1 Ответ

1 голос
/ 12 февраля 2012

Да, если вы получите ссылку на MSHTML.IHTMLDocument2 скажем, объявите hDoc как это, вы получите intellisense, чтобы помочь вам пройтись по элементам и элементам в этом документе.Помните, что ссылка LIVE означает, что любые изменения, внесенные в объект (страницу) document с помощью любых средств, JavaScript или изменения, сделанные с помощью ссылки на страницу, будут обновлены и отображены на странице, и вы будетеуметь запрашивать и получать новые значения, получая доступ к нужным элементам.Конечно, когда вы перейдете по ссылке, DOM на следующей странице будет LIVE DOM.

Если у вас есть какие-либо конкретные вопросы, дайте мне знать, и я помогу вам.Я надеюсь, что также правильно понял ваш вопрос.

Пример:

Dim hDoc As IHTMLDocument2

Set hDoc = WebBrowser1.Document

For i = 0 to hDoc.All.length - 1
  MsgBox hDoc.All(i).tagName & ": OuterHTML: " & hDoc.All(i).outerHTML
Next i

Это покажет вам tagName и фактический HTML для каждого элемента на странице (LIVE).

...