Модераторы: Akella, bartram
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TWebBrowser. Просмотр HTML-кода. 
:(
    Опции темы
Vitalik
Дата 2.1.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 1
Всего: 12



Страничка загружена в компонент TWebBrower методом WerBrowser.Navigate('URL').
Требуется получить её содержимое ввиде HTML-кода.
Как это лучше сделать?

Спасибо!
PM MAIL WWW ICQ YIM   Вверх
Vitalik
Дата 2.1.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 1
Всего: 12



Упс smile
Извините, не там тему создал.

Deface, перенеси, пожалуйста, эту тему в форум Delphi: Общие вопросы
PM MAIL WWW ICQ YIM   Вверх
dm9
Дата 2.1.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 3
Всего: 137



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

Например, так:

Код
var
  B : IHTMLBodyElement;
  T, OLDT : IHTMLTxtRange;
  El : IHTMLElement;
  xxx : IHTMLElementCollection;
  O : OLEVariant;

procedure TBandForm.Button1Click(Sender: TObject);
type
  TMy = array [0..$7FFFFFFE] of Char;
  PMy = ^TMy;
var
  M : PMy;
  F : File;
  S : String;
begin
  xxx := (IE.Document as IHTMLDocument3).getElementsByTagName ('html');
  O := 0;
  El := xxx.item (O, O) as IHTMLElement;
  S := El.innerHTML;
  ShowMessage (S);
end;


А вот исходник страницы... Это совсем другое дело, ведь html ты можешь изменять. Вставлять новые объекты, редактировать html-код существующих... Вот это идолжно по логике храниться в памяти. А исходник, скаченный с сайта - зачем он? Вот ещё одно подтверждение моим словам. Обращал внимание, что при созранении веб-страницы IE лезет в интернет? Зачем ему это делать, если всё есть в памяти?

Если очень нужен исходник, смотри, откуда он скачен (IE.Document as IHTMLDocument2).URL; и качай его самостоятельно.

Но я могу быть не прав.

Добавлено @ 14:50
Не в общие вопросы, а в Delphi: ActiveX/СОМ/CORBA

Это сообщение отредактировал(а) dm9 - 2.1.2005, 14:51
PM MAIL ICQ   Вверх
dm9
Дата 2.1.2005, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 3
Всего: 137



Че-то я немного забылся smile)
У меня TWebBrowser проассоциировался с IWebBrower2 smile)
Но в твоём случае мой предыдущий ответ всё равно имеет силу.
С тем дополнением, что
IE := WebBrowser1.DefaultInterface;

А также uses MSHTML;
PM MAIL ICQ   Вверх
Vitalik
Дата 2.1.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 1
Всего: 12



dm9, Огромное спасибо! Это то, что нужно! smile

PM MAIL WWW ICQ YIM   Вверх
dm9
Дата 2.1.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дмитрий Копытин
****


Профиль
Группа: Vingrad developer
Сообщений: 3876
Регистрация: 22.7.2002
Где: Москва

Репутация: 3
Всего: 137



Пожалуйста smile
Ещё маленькое дополнение.
if xxx.length = 0
then ShowMessage ('запрошенного тэга нету')

Для тэга html это число, наверное, всегда будет равняться единице, а если ты запросишь
xxx := (IE.Document as IHTMLDocument3).getElementsByTagName ('тэг не html');
то может вернуться и ноль, и больше единицы элементов...
А вообще, читай MSDN (если интересно smile )
IWebBrowser2
IHTMLDocument, IHTMLDocument2, IHTMLDocument3, IHTMLDocument4, IHTMLDocument5

Это сообщение отредактировал(а) dm9 - 2.1.2005, 17:23
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программное обеспечение"
Deface
Akella

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, Akella, bartram.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.