Вывести список ссылок страницы в TWebBrowserDelphi , Интернет и Сети , БраузерВывести список ссылок страницы в TWebBrowser
Оформил: DeeCo procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i)); end; {*****************} { if there are frames } procedure TForm1.Button2Click(Sender: TObject); var u : variant; v : IDispatch; s : string; procedure RecurseLinks(htmlDoc: variant); var BodyElement : variant; ElementCo: variant; HTMLFrames: variant; HTMLWnd : variant; j, i : integer; begin if VarIsEmpty(htmlDoc) then exit; BodyElement := htmlDoc.body; if BodyElement.tagName = 'BODY' then begin ElementCo := htmlDoc.links; j := ElementCo.Length - 1; for i := 0 to j do begin u := ElementCo.item(i); s := u.href; listLinks.Items.Add(s); end; end; HTMLFrames := htmlDoc.Frames; j := HTMLFrames.length - 1; for i := 0 to j do begin HTMLWnd := HTMLFrames.Item(i); RecurseLinks(HTMLWnd.Document); end; end; // RecurseLinks begin v := WebBrowser1.document; listLinks.Clear; RecurseLinks(v); end; Код на Delphi! Это код, предназначенный для извлечения ссылок с веб-страницы, загруженной в контроле TWebBrowser, и отображения их в компоненте Listbox. Давайте разбить два процедура: Button1Click
Эта процедура вызывается при клике кнопки (Button1). Она проходит по всем ссылкам на текущей загруженной веб-странице, используя свойство Button2Click Эта процедура вызывается при клике другой кнопки (Button2). Она предназначена для обработкирамок на веб-странице, где рамка может содержать другое HTML-документ. Эта процедура использует рекурсию для обхода всех рамок и извлечения ссылок из каждой. Работает она следующим образом:
Процедура В целом, этот код предоставляет способ извлечения ссылок с веб-страниц, загруженных в контроле TWebBrowser, включая те, которые используют рамки. В статье описывается способ вывода списка ссылок с помощью компонента TWebBrowser в Delphi, для этого используются методы OleObject.Document.links и RecurseLinks для обхода фреймов. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |