本文整理自网络,侵删。
delphi提取网页中的所有链接、点击第n个链接
代码文件:
--------------------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw;
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{控件初始化}
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Align := alTop;
WebBrowser1.Navigate('http://del.cnblogs.com');
ListBox1.Align := alClient;
Button1.Caption := '提取网页所有链接地址';
Button2.Caption := '提取网页所有链接文本';
Button3.Caption := '模拟点击指定的链接';
end;
{提取网页所有链接地址}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
ListBox1.Clear;
for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).href);
end;
{提取网页所有链接文本}
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
begin
ListBox1.Clear;
for i := 0 to WebBrowser1.OleObject.document.anchors.Length - 1 do
ListBox1.Items.Add(WebBrowser1.OleObject.document.anchors.item(i).innerText);
end;
{模拟点击指定的链接}
procedure TForm1.Button3Click(Sender: TObject);
begin
// WebBrowser1.OleObject.document.anchors.item(0).click; {假如是第一个链接}
if ListBox1.ItemIndex <> -1 then
WebBrowser1.OleObject.document.anchors.item(ListBox1.ItemIndex).click;
ListBox1.Clear;
end;
end.
相关阅读 >>
Delphi char数组、string和pchar的相互转换
Delphi 2009 indy10 idhttp get 中文出现乱码的问题
更多相关阅读请进入《Delphi》频道 >>