Имеется окно браузера, с постоянно обновляемым текстом. Пример - обычный http чат. Необходимо, чтобы программа через заданный интервал времени анализировала текст в данном окне. Собственно вопрос - как программно считать содержание окна обозревателя, вообще возможно ли такое? Хотя, через API многое возможно. Однако, у меня пока на этот счёт вообще никаких идей нету.
импортируешь InternetExplorer как АctiveX контрол. Методом Nаvigate идем на нужную страничку. далее обьявляешь переменную как IHTMLdocument2 и присваиваешь его свойству Document. У него в свою очередь есть свойства frames, forms, tables и т.д исходной страницы, дальше зависит от задачи. вот например пример парсинга на асп выдирающего курс бакса с РБК <% response.write("<P>Запущен</P>") Dim objIE Set objIE=CreateObject("InternetExplorer.Application") objIE.Visible=False objIE.Silent=False objIE.Navigate "http://www.rbc.ru/" 'Цикл до тех пор пока идет загрузка данных While CBool(objIE.Busy) 'response.Write(".") wend response.write("парсинг...") Dim objDoc Set objDoc=objIE.Document 'это то что в клиентском JS называется window.document 'WScript.Echo objDoc.body.innerHTML 'получить HTML-код тега BODY можно так... Dim a 'объектная переменная для ссылки на элемент анкор (<A>) For Each a In objDoc.all.tags("A") 'перебираем все элементы (теги) <A> в коллекции If InStr(1, a.href, "EUR_USD.rus.shtml") Then 'если у ссылки в href= есть ссылка на данный файл 'Получаем родительсую TR и все ее TD-шки 'но помните, что все в нашем мире меняется :-) Dim TDs: Set TDs=a.parentElement.parentElement.childNodes response.write(TDs(1).innerText & " на " & TDs(2).innerText & _ " спрос: " & TDs(3).innerText & " предл. " & TDs(4).innerText) End If Next objIE.Quit Set objIE=Nothing 'Выходим из приложения и очищаем память %>