Специализированный Веб Браузер на основе TWebBrowser

СКАЧАТЬ ZIP каталог с файлами проекта, для лучшего понимания
GUI состоит из трех страниц, расположенных на TPageControl

Список страниц

  • BROWSER - страница с компонентом TWebBrowser
  • RULE - страница с элементами управления
  • DESFile - страница для отображения результатов обработки HTML-страницы
 

Страница RULE, элементы управления

  • Handl-Auto (TCheckBox) должен переключать способ ввода URL, Login, PSW и нажатий на кнопки. При ручном способе все как обычно, при автоматическом данные URL, Login, PSW берутся из ГлобалПерем в секции VAR, нажатие на кнопки - аналогичным способом. в ГлобалПерем данные будут устанавливаться из другой части программы. Браузер - только часть программы
  • URL (TEdit) - ручной ввод адреса
  • Кнопка LOAD - загрузка страницы с указанного адреса
  • Login, PSW и кнопка Send Data - ручной ввод и отсылка на сервер логина и пароля для авторизации
 

Протокол работы программы в ручном режиме при загрузке HTML-страницы

  • вводится URL в окно ввода
  • нажимается кнопка LOAD
  • страница загружается с условием - полная загрузка                                                                                                                                           repeat
    Application.ProcessMessages;
    until WebBrowser1.ReadyState >= READYSTATE_COMPLETE;
    или что то типа этого, недостаточно просто события OnDownLoadComplete или OnDocumentComplete
     
  • страница обрабатывается компонентом TWebBrowser(скрипты прежде всего, флеш, стили, куки), отображается в окне браузера, фокус не переводится на окно браузера - в этом нет необходимости в основном режиме работы (автоматическом)
  • выполнить функции типа Ctrl+A+C для WebBrowser (выделить ВСЕ и скопировать), но без использования буфера обмена ОС (копировать в VAR HtmlData : TFileStream; поместить данные)
  • провести исследование потока в VAR HtmlData для удаления ненужных ХТМЛ-тегов и замены DIV на теги таблицы в полученном потоке HtmlData. Должны остаться только теги ссылок с привязкой к тексту (Пример: <a href="001.htm">Тех.Задание №1 (специализированный Веб Браузер на основе <span lang="en-us">TWebBrowser)</span></a>) и табличные теги - чтобы текст ХТМЛ-страницы не выглядел кучей букв
  • сохранить результат обработки в HtmlData
  • отобразить поток в HtmlData в окне вывода на странице DESFile. Можно использовать любой компонент, способный отобразить содержимое из HtmlData - текст и теги. Это нужно только для контроля правильности работы парсера в процессе отладки
  • конечным результатом работы программы является содержимое VAR HtmlData - код ХТМЛ-страницы, содержащий текст загруженной из интернета страницы(без указаний на заголовки, стили, только размер = 10, тип шрифта = Verdana), табличную разметку текста и ссылки на другие страницы в формате http://domain.com и RData = 1 (флаг указывает что данные могут использоваться далее)
 

Протокол работы программы в автоматическом режиме при загрузке HTML-страницы

  • все что прописано для работы в ручном режиме
  • все данные берутся из VAR, в том числе запуск обработки по флагу в Load = 1 (видимо нужен таймер с частотой опроса, ну 100 мС)
 

Протокол работы программы в ручном режиме с отсылкой данных авторизации на сервер

  • вводится URL в окно ввода
  • нажимается кнопка LOAD
  • страница загружается с условием - полная загрузка
  • ввод данных в окна ввода и отсылка данных на сервер
  • вся процедура обработки страницы, описанная выше
  • далее страница должна перезагрузится
  • после перезагрузки страницы вся процедура обработки, описанная выше
  • конечным результатом работы программы является авторизация на сервере и содержимое VAR HtmlData - код ХТМЛ-страницы, содержащий текст загруженной из интернета страницы(без указаний на заголовки, стили, только размер = 10, тип шрифта = Verdana), табличную разметку текста и ссылки на другие страницы в формате http://domain.com и RData = 1 (флаг указывает что данные могут использоваться далее)

Протокол работы программы в автоматическом режиме с отсылкой данных авторизации на сервер

  • все что прописано для работы в ручном режиме
  • все данные берутся из VAR, в том числе запуск обработки по флагу в Load и SentData = 1 (видимо нужен таймер с частотой опроса, ну 100 мС)
 

Если что не ясно, вот ЕМЕЙЛ rraspajka@narod.ru

Контрольные условия функционирования Браузера

Список контрольных URL для проверки работоспособности программы. Программа не должна выдавать сообщений, ошибок и тем более "зависать". Базовая версия программы эти условия выполняет
forums.kuban.ru
news.google.com
www.sql.ru
ya.ru
www.mrcmarkets.ru
twitter.com
vkontakte.ru
accounts.google.com
www.microsofttranslator.com
delphiexpert.ru
mail.ru
narod.ru