Специализированный Веб Браузер на основе
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
|