从WebBrowser提取超链接问题。 ( 积分: 50 )

  • 主题发起人 主题发起人 传奇人生
  • 开始时间 开始时间

传奇人生

Unregistered / Unconfirmed
GUEST, unregistred user!
从WebBrowser提取超链接的时候,第一次正常,但是后面提取的时候。总是重复上一次。怎么回事?要怎么处理一下啊?
 
从WebBrowser提取超链接的时候,第一次正常,但是后面提取的时候。总是重复上一次。怎么回事?要怎么处理一下啊?
 
提取网页中所有链接

这个方法来自大富翁论坛hopfield朋友的对一个问题的回答,我本想自己试验,但总是没成功。
  var
   doc:IHTMLDocument2;
   all:IHTMLElementCollection;
   len,i:integer;
   item:OleVariant;
  begin
   doc:=WebBrowser1 .Document as IHTMLDocument2;
   all:=doc.Get_links;             //doc.Links亦可
   len:=all.length;
   for i:=0 to len-1 do begin
    item:=all.item(i,varempty);        //EmpryParam亦可
    memo1.lines.add(item.href);
   end;
  end;
 
我是按照这样的方式提取链接的。给你看一下提取的记录。
http://www.chinacars.com/ *
http://auto.tom.com/ *
http://auto.sohu.com/ *
http://www.pcauto.com.cn/ *
http://auto.sina.com.cn/ *
http://www.qiche.com.cn/ *
http://www.carcn.net/ *
http://www.autoworld.com.cn/ *
http://auto.china.com/ *
http://auto.163.com/ *
http://www.chinacars.com/
http://auto.tom.com/
http://auto.sohu.com/
http://www.pcauto.com.cn/
http://auto.sina.com.cn/
http://www.qiche.com.cn/
http://www.carcn.net/
http://www.autoworld.com.cn/
http://auto.china.com/
http://auto.163.com/
第二次提取。总是把前面的又提了一遍。
 
如:
<a href"http://163.com">主要是取这里的名称</a>

取链接的方法知道了,可就不知道怎么取名称了

这是取链接的
 var
   doc:IHTMLDocument2;
   all:IHTMLElementCollection;
   len,i:integer;
   item:OleVariant;
  begin
   doc:=WebBrowser1 .Document as IHTMLDocument2;
   all:=doc.Get_links;             //doc.Links亦可
   len:=all.length;
   for i:=0 to len-1 do begin
    item:=all.item(i,varempty);        //EmpryParam亦可
    memo1.lines.add(item.href);//Href 换成innertext就是链接文字
   end;
  end;
 

Similar threads

回复
0
查看
864
不得闲
回复
0
查看
1K
不得闲
S
回复
0
查看
846
SUNSTONE的Delphi笔记
S
S
回复
0
查看
778
SUNSTONE的Delphi笔记
S
后退
顶部