Сохранить исходник HTML из TWebBrowser

Сегодня мы научимся сохранять исходник HTML из TWebBrowser.Document на диск. Делается это очень просто и я думаю трудностей с этим у вас возникнуть недолжно.

Ну что поехали, как всегда для начала открываем Delphi и первое что нам нужно будет сделать это дописать в раздел uses ActiveX. Двигаемся дальше теперь кидаем на форму две кнопочки (button) с закладки standart, компонент SaveDialog с закладки Dialog и компонент webBrowser с закладки internet. Так с компонентами вроде разобрались

Создаем обработчик событий(onclick) на первой кнопке и в нем прописываем следующий код:


webbrowser1.Navigate('http://www.delphiexpert.ru');  

Так теперь переходим на самый верх и сразу же после public пишем:


procedure SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser);  

Нажимаем комбинацию клавиш Ctrl+Shift+C

И Delphi автоматически генерирует процедуру, получиться должно примерно так:


procedure TForm1.SaveHTMLSourceToFile(const FileName: string;  
WB: TWebBrowser);  
begin  
  
end;  

Сейчас давайте пропишем действия, которые будет выполнять данная процедура, а именно она должна сохранять текущий открытый в компоненте webbrowser документ в виде исходника HTML


procedure TForm1.SaveHTMLSourceToFile(const FileName: string;  
WB: TWebBrowser);  
var  
PersistStream: IPersistStreamInit;  
FileStream: TFileStream;  
Stream: IStream;  
SaveResult: HRESULT;  
begin  
PersistStream := WB.Document as IPersistStreamInit;  
FileStream := TFileStream.Create(FileName, fmCreate);  
try  
Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;  
SaveResult := PersistStream.Save(Stream, True);  
if FAILED(SaveResult) then  
MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);  
finally  
FileStream.Free;  
end;  
end;  

Вот практически и все осталось только создать обработчик событий (onClick) на второй кнопке и прописать там:


if SaveDialog1.Execute then  
SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);   

Запускаем программу, жмем сначала на первую кнопку, ждем пока в компоненте WebBrowser загрузиться страница.

Теперь нажимаем на вторую кнопку и сохраняем загруженную страницу, в Поле Имя файла: вводим например delphi.txt или expert.html
Теги:
TWebBrowser
Добавлено: 01 Августа 2018 08:43:50 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...