![]() |
HTML Tabelle auslesen (getElementById)
Moin,
Ich probiere eine HTML Tabelle mittels getElementsByTagName auszulesen. (Möchte es nicht via IHTMLTable machee) Bei Zeile 5 erscheint eine Fehlermeldung "Invalid Argument". Warum?
Delphi-Quellcode:
Variablen:
document := Webbrowser1.Document as IHTMLDocument3;
tableBody := document.getElementById('table10'); trs := tableBody.getElementsByTagName('tr'); for i := 1 to trs.length -1 do begin tds := trs[i].getElementsByTagName('td'); // <--- "Invalid Argument" for j := 0 to tds.length - 1 do begin Inputs := tds[j].getElementsByTagName('input'); for k := 0 to Inputs.length -1 do begin memo1.Lines.add(Inputs[k].value); end; end; end;
Delphi-Quellcode:
Der JS-Code (gekürzt) funktioniert jedoch:
var
tableBody, trs, tds, Inputs : OleVariant; document: IHTMLDocument3; i,j,k: Word;
Code:
tableBody = document.getElementById('table10');
var trs = tableBody.getElementsByTagName("tr"); for (var i = 0; i < trs.length ; i++) { var tds = trs[i].getElementsByTagName("td"); } |
Re: HTML Tabelle auslesen (getElementById)
*PUSH*
|
Re: HTML Tabelle auslesen (getElementById)
Holla,
warum mischst du early (IHTMLDocument3) und late binding? Außerdem sind die Zugriffe bei JS etwas anders als bei Automation mit Object Pascal. Probiere es mal so:
Delphi-Quellcode:
Getippt und nicht getestet.
var
tableBody, trs, tds, Inputs : OleVariant; i,j,k: Integer; // besser ist das! begin tableBody := Webbrowser1.OleObject.document.getElementById('table10'); trs := tableBody.getElementsByTagName('tr'); for i := 1 to trs.length - 1 do begin tds := trs.item(i, null).getElementsByTagName('td'); for j := 0 to tds.length - 1 do begin Inputs := tds.item(j, null).getElementsByTagName('input'); for k := 0 to Inputs.length - 1 do memo1.Lines.add(Inputs.item(k, null).value); end; end; end; Du erkennst die Unterschiede? Deine Laufvariablen sollten übrigens Integers sein, sonst funktioniert dein Endekriterium bei leeren Collections nicht. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz