不能用正则表达式,因为table中表格的值是通过另一网页用javascript动态赋值的。
好像 IHTMLDocument2没有WebBrowser1.document.all.tags('table').item(0).Rows.Item(i).Cells.Item(j).innerText这样的写法。

解决方案 »

  1.   

    www.microsoft.com/china/ msdn/Archives/workshop/scrape.asp
      

  2.   

    有那样的些法
    不过是wb1.oleobject.document.......
      

  3.   

    //可以这样硬硬的写.....
    //当然,弄清楚下面的,要改写成用VARIANT写得软些也就很容易了..
    uses mshtml;function GetHtmlTableCell(aTable:IHTMLTable;aRow,aCol:integer):IHTMLElement;
    var
      Row:IHTMLTableRow;
      node:IHTMLElement;
    begin  Row:=aTable.rows.item(aRow,aRow) as IHTMLTableRow;
      Result:=Row.cells.item(aCol,aCol) as IHTMLElement;
    end;function GetHtmlTable(aDoc:IHTMLDocument2;aIndex:Integer):IHTMLTable;
    var
      list:IHTMLElementCollection;
    begin
      list:=aDoc.all.tags('table') as IHTMLElementCollection;
      Result:=list.item(aIndex,aIndex) as IHTMLTable;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      Docintf:IHTMLDocument2;
      tblintf:IHTMLTable;
    begin
      docintf:=WebBrowser1.Document as IHTMLDocument2;
      tblintf:=GetHtmlTable(docintf,0);
      ShowMessage( GetHtmlTableCell(tblintf,1,1).innerText);end;