Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   dynamische elemente einlesen <span id=""></span> (https://www.delphipraxis.net/157061-dynamische-elemente-einlesen-span-id%3D-span.html)

cyan3552 27. Dez 2010 14:41

dynamische elemente einlesen <span id=""></span>
 
Hallo
ich habe mal eine frage, wie man es schaft einen dynamischen Html Teile mit delphi zu erfassen,
ohne die Internetseite neu laden zu müssen?

Im Quellcode steht:
<span id="serverTime">14:19:00</span>
über die id wird dann die neue Zeit übermittel die mein Browser auch da stellt nur der
Quellcode der Seite bleibt ja immer gleich gleich.

Danke!
gruß

generic 27. Dez 2010 14:44

AW: dynamische elemente einlesen <span id=""></span>
 
Die Webseite enthält ein Javascript welches über die ID das Element aktualisiert.
Evtl. wird im Hintergrund mit Ajax gearbeitet.

rollstuhlfahrer 27. Dez 2010 14:50

AW: dynamische elemente einlesen <span id=""></span>
 
nein, wenn sich die Ausgabe ändert, dann muss sich auch der Quellcode ändern. Moderne Browser zeigen dies aber nicht unter "Quellcode anzeigen" an. Falls du Firefox hast und das Addon Firebug, so kannst du Änderungen am HTML-Grundgerüst live mitverfolgen. Alternativ kannst du in die Seite auch ein JavaScript-Schnipsel einbauen, welches dir den aktuellen Quellcode anzeigt. Spätestens hier wirst du merken, dass sich dieser ändert.

In wie fern meinst du dynamisch? - PHP oder Javascript/AJAX? - Ersteres geht nur durch erneutes laden und letzteres kann man so gut wie gar nicht mit Delphi abarbeiten. Du kannst aber schauen, was der Browser macht und dieses Verhalten nachbauen.

Bernhard

himitsu 27. Dez 2010 15:22

AW: dynamische elemente einlesen <span id=""></span>
 
eventuell Hier im Forum suchenTWebBrowser auslesen ?
http://www.delphipraxis.net/109703-t...-auslesen.html

H3llsing 27. Dez 2010 15:45

AW: dynamische elemente einlesen <span id=""></span>
 
How to call JavaScript functions in a TWebBrowser from Delphi
könnte auch noch hilfreich sein =)

cyan3552 27. Dez 2010 19:24

AW: dynamische elemente einlesen <span id=""></span>
 
Ne leider nur mit einlesen geht es nicht, da TWebbrowser den Quelltext nicht anpasst?
Versucht habe ich es mit:
Delphi-Quellcode:
htmlcode:=WebBrowser1.OleObject.Document.documentElement.innerHTML;
Soweit ich es überschauen konnte greifen alle Vorschläge so oder ähnlich auf den Quellcode zu, sodass ich da wohl nicht weiter kommen werde, ohne zu aktualisieren.
Hatte mal irgendwo eine Vorlage zum direkten einlesen vom html quellcode ohne den webbrowser gesehen.
Werde ich mal damit versuchen.

Danke für die Denkanstöße.
Weitere Ideen sind aber immer noch erwünscht.

gruß

Klaus01 27. Dez 2010 20:02

AW: dynamische elemente einlesen <span id=""></span>
 
Guten Abend,

durch wen oder was wird denn das dynamische generiert?
Wie verhält sich die Dynamic den bei einem "normalen" Browser?
Muss man dort jeweils die Seite aktualisieren um einen neuen Wert zu erhalten?

Grüße
Klaus

rollstuhlfahrer 27. Dez 2010 20:08

AW: dynamische elemente einlesen <span id=""></span>
 
Zitat:

Zitat von cyan3552 (Beitrag 1070670)
Hatte mal irgendwo eine Vorlage zum direkten einlesen vom html quellcode ohne den webbrowser gesehen.
Werde ich mal damit versuchen.

Dann verzichtest du auch auf JavaScript. Somit würde ein einfacher XML-Parser reichen. Ansonsten ist 2 Posts drüber die Möglichkeit aufgegriffen worden, JavaScript auf der Seite auszuführen. Wie wäre es mit:
Code:
return document.innerHTML;
?

Bernhard

cyan3552 27. Dez 2010 22:38

AW: dynamische elemente einlesen <span id=""></span>
 
Ja, ist jetzt auch nicht der eleganteste Weg, muss jetzt quasi beides am Laufen haben.
Habe den code wieder gefunden war auch bei euch gewesen.
[DP]http://www.delphipraxis.net/5520-html-code-ueber-wininet-downloaden.html[/DP] funzt alles jetzt wunderbar und hackt nicht wie wenn ich alles im Browser neulade xD
Der Java vorschlag fand ich auch gut, brachte aber nicht das was ich mir vorgestellt habe.
Wollte ihn mir gleich nocheinmal durchlese.
Delphi-Quellcode:
return document.innerHTML;
was wird damit gemacht?

gruß

rollstuhlfahrer 27. Dez 2010 23:26

AW: dynamische elemente einlesen <span id=""></span>
 
Im Prinzip ist das eine ganz einfache Funktion. document.innerHTML sollte dem Browser sagen, dass er den aktuellen Quellcode zu liefern hat und den zurückzugeben. Mit return wird diese Rückgabe dann an die Instanz vorher geleitet, die dein Programm ist. Somit solltest du den aktuellen COde haben. Ansonsten hat TWebbrowser aber noch was, das nach SourceCode klingt als Eigenschaft.

Bernhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz