如果你仅仅是想分析网页中元素,建议不要用TWebBrowser,使用TNMHTTP可以很好的达到你的目的:
1,不会显示网页错误
2,不会下载声音、图片、视频等,加快你的速度
3,取得的网页代码和TWebBrowser的源文件代码完全一致
具体使用为
NMHTTP1.Get(URL)
然后在NMHTTP1.OnSuccess里面提取NMHTTP1.Body:string,这就是网页内容
但是缺点是不能使用Shdocvw中提供的一些方法来直接获得链接,必须自己去分析

解决方案 »

  1.   

    webbrowser类下包含了Htmlelement子类,用这个可以分析!
      

  2.   

    to smhpnuaa(农奴翻身感谢党) :
      能不能提供点例子?谢谢
      

  3.   

    Procedure TmForm.pbGetLinksClick(Sender: TObject);
    // Return a list of links (<a href=""> tags)
    Var
      Counter: Integer;
      Href, Description: String;
      Node: TTagNode;
      Links: TTagNodeList;
    Begin
      If TreeView1.Selected <> Nil Then
      Begin
        Links := TTagNodeList.Create;
        TTagNode(TreeView1.Selected.Data).GetTags('a', Links);
        Memo1.Clear;
        For Counter := 0 To Links.Count - 1 Do
        Begin
          Node := Links[Counter];
          If Assigned(Node) Then
          Begin
            Href := Node.Params.Values['href'];
            If Href <> '' Then
            Begin
              Description := Trim(HTMLDecode(RemoveCRLFs(Node.GetPCData)));
              If Description <> '' Then
                Memo1.Lines.Add(Description + ' => ' + Href);
            End;
          End;
        End;
        Links.Free;
      End
      Else
      Begin
        MessageBeep(mb_IconAsterisk);
        ShowMessage('No tag selected');
      End;
    End;你去下个HTMLParser就很简单了
      

  4.   

    感谢 CXZ9(一网情深) ,我就回去试试。只是有一点不明白,TreeView1.Selected 指的是选中html文件吧?还是一个目录?
    HTMLParser空件我有了,但是没用过。我看了一下他的用法,
    好象没有这样的用法吧?(也许我太菜了)