procedure TForm27.Button1Click(Sender: TObject); var doc2: IHTMLDocument2; doc3: IHTMLDocument3; itableCollection, emtCollection: IHTMLElementCollection; itable: IHTMLTABLE; emt: IHTMLElement; tabrow: IHTMLTableRow; tabsec: IHTMLTableSection; I, J, K: integer; sid, s1, s2, s3, s4, s5, sText: string; begin ListBox1.Clear; WebBrowser1.Navigate('http://zx.caipiao.163.com/trend/11xuan5/?beginPeriod=14092901&endPeriod=14100875&selectDate=4'); while WebBrowser1.Busy do Application.ProcessMessages; doc2 := self.WebBrowser1.Document as IHTMLDocument2; doc3 := WebBrowser1.Document as IHTMLDocument3; itableCollection := doc2.all.tags('table') as IHTMLElementCollection; for I := 0 to itableCollection.Length - 1 do begin itable := itableCollection.item(I, 0) as IHTMLTABLE; emt := itable as IHTMLElement; if emt.id = 'chartsTable' then begin emt := itable.tBodies.item(1, 0) as IHTMLElement; // tbody cpdata tabsec := emt as IHTMLTableSection; tabsec.rows.Length; for J := 0 to tabsec.rows.Length - 1 do begin tabrow := tabsec.rows.item(J, 0) as IHTMLTableRow; if tabrow.cells.Length < 10 then Continue; sid := (tabrow.cells.item(0, 0) as IHTMLElement).innerText; // 14100718 s1 := (tabrow.cells.item(2, 0) as IHTMLElement).innerText; // 01 s2 := (tabrow.cells.item(3, 0) as IHTMLElement).innerText; // 02 s3 := (tabrow.cells.item(4, 0) as IHTMLElement).innerText; // 03 s4 := (tabrow.cells.item(5, 0) as IHTMLElement).innerText; // 04 s5 := (tabrow.cells.item(6, 0) as IHTMLElement).innerText; // 05 sText := Format('%s %s %s %s %s %s', [sid, s1, s2, s3, s4, s5]); ListBox1.Items.Add(sText); end; end; end; end;