На, я проверил на твоём примере, должно работать. А вообще, так криво html не верстают. Обычно текст на смешивают с другими DOM- элементами, и стараются идентиф. элементы к которым нужен доступ.
| Код | procedure TForm1.Button1Click(Sender: TObject); var El: IHTMLElement2; Node, Child: IHTMLDomNode; Doc: IHTMLDocument2; Collection: IHTMLElementCollection; I, J: integer; C: IHTMLDOMChildrenCollection; begin WebBrowser1.Navigate('file://g:/test.html'); while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; Doc := WebBrowser1.Document as IHTMLDocument2; El := Doc.body as IHtmlElement2; Collection := El.getElementsByTagName('TD'); for I := 0 to Collection.length - 1 do begin Node := Collection.Item(I, 0) as IHTMLDomNode; if not VarIsNull(Node) and (Node.nodeType = 1) then begin if Node.hasChildNodes then begin C := (Node.childNodes) as IHTMLDOMChildrenCollection; for J := 0 to C.length - 1 do begin Child := C.item(J) as IHtmlDomNode; if Child.nodeName = '#text' then begin ShowMessage((Child as IHTMLDomTextNode).data); end; end; end; end; end;
end;
|
|