![]() |
![]() ![]() ![]() ![]() |
|
Вывести список ссылок страницы в 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 прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||