1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Вопрос по Vb

Тема в разделе "Софт", создана пользователем Fox, 14.08.03.

  1. Fox

    Fox Активный участник

    1.778
    0
    Имеется окно браузера, с постоянно обновляемым текстом. Пример - обычный http чат. Необходимо, чтобы программа через заданный интервал времени анализировала текст в данном окне. Собственно вопрос - как программно считать содержание окна обозревателя, вообще возможно ли такое? Хотя, через API многое возможно. Однако, у меня пока на этот счёт вообще никаких идей нету.
     
  2. pegas

    pegas Участник

    311
    0
    импортируешь 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 'Выходим из приложения и очищаем память
    %>