![]() |
Quellcode aus TWebBrowser
Ich habe beim Programmieren festgestellt, dass die TWebbrowser Komponente 3 unterschiedliche Quelltexte liefert:
1. WebBrowser1.OleObject.Document.documentElement.out erhtml; 2. WebBrowser1.OleObject.Document.documentElement.inn erhtml; 3. Rechtsklick auf Webbrowser und dann "Quellcode anzeigen" Quelltext 1 und 2 beinhalten noch verlinkte CSS-Datein und vollen (unausgeführten) Java-Script und sind doppelt so lang wie Quelltext 3, der die Website so darstellt, dass Javascript ausgeführt wurde. Ich benötige den 3. Quelltext-Typen. Welchen Befehl benötige ich um auf diesen zuzugreifen? Ich habe bis jetzt nur viel zu Punkt 1 und 2 gelesen. |
AW: Quellcode aus TWebBrowser
Würde mich auch interessieren.
Aber ob MS das vorgesehen hat? Habe schon haarsträubende Erfahrungen mit der COM-Schnittstelle vom IE-Control gemacht ... |
AW: Quellcode aus TWebBrowser
MS muss es vorgesehen haben, wie sonst wird der 3. Quellcode generiert? Wie kann man auf das Rechtsklick- Menü zugreifen, bzw. auf die Schaltfläche "Quellcode anzeigen"? Dies wäre zwar ein wenig Aufwand sollte doch aber möglich sein.
Edit: Welche weitere Möglichkeit gäbe es mit Delphibordmitteln folgendes zu tun: - eine Website aufrufen (Indy) - 2 HTML-Forms ausfüllen (Indy) - JavaScriptbutton betätigen (kein Indy :() - angezeigtes HTML auswerten (Indy) |
AW: Quellcode aus TWebBrowser
Zitat:
|
AW: Quellcode aus TWebBrowser
Über den Javascriptbutton werden Daten aus einer Datenbank der Website abgerufen, geht das dann auch noch mit Indy?
|
AW: Quellcode aus TWebBrowser
Zitat:
|
AW: Quellcode aus TWebBrowser
Das müsste die function sein, welche durch den Button aufgerufen wird:
Code:
function edVereinsspielplan()
{ $("edLegendeSwitch").style.borderTop="1px solid #8D8D8D"; $("edVspielplanOut").innerHTML="Einen Moment bitte. Der Spielplan wird geladen."; $("edWarten").style.visibility="visible"; new Ajax.Updater("edVspielplanOut","/api/fbed/fbedVereinsspielplan.php", {evalScripts:true,asynchronous:true,method:"post",parameters: {edMandant:edMandant, edVereinId:edVereinId, edDatumVon:$F("edDatumVon"), edDatumBis:$F("edDatumBis"), edMannschaftChk0:$F("edMannschaftChk0"), edMannschaftChk1:$F("edMannschaftChk1"), edMannschaften:Object.toJSON(edMannschaften), edAustragungsort0:$F("edAustragungsort0"), edAustragungsort1:$F("edAustragungsort1"), edAustragungsort2:$F("edAustragungsort2"), edSpielstaette:$F("edSpielstaette") } |
AW: Quellcode aus TWebBrowser
Du kannst das in Delphi umsetzen. Mit TIdHTTP einfach einen POST an /api/fbed/fbedVereinsspielplan.php senden. Die Parameter aus dem JS-Code musst du auch mitgeben. Allerdings musst du erstmal herausfinden wo im JS die Variablen befüllt werden bzw. was deren Inhalt ist.
Parameter:
Code:
EDIT: Welche Parameter genau vom Script übergeben werden kannst du mit z. B. Firebug ziemlich einfach rausfinden.
edMandant:edMandant,
edVereinId:edVereinId, edDatumVon:$F("edDatumVon"), edDatumBis:$F("edDatumBis"), edMannschaftChk0:$F("edMannschaftChk0"), edMannschaftChk1:$F("edMannschaftChk1"), edMannschaften:Object.toJSON(edMannschaften), edAustragungsort0:$F("edAustragungsort0"), edAustragungsort1:$F("edAustragungsort1"), edAustragungsort2:$F("edAustragungsort2"), edSpielstaette:$F("edSpielstaette") |
AW: Quellcode aus TWebBrowser
Zitat:
Evtl. man die IE-Schnittstelle des IE8 einlesen. Evtl. gibts ja Properties die man im TWebBroser (Müsste IE3-Schnittstelle sein) noch nicht zur Verfügung steht. |
AW: Quellcode aus TWebBrowser
Danke Andreas, dieser Workaround über den TWebBrowser stört mich schon die ganze Zeit (Bilder die ich nicht brauche werden geladen, nicht plattformunabhängig, Fehler im Javascript beim Ausführen, will manchmal Adobe Flash Player herunterladen usw.). Das Analysieren von Website habe ich noch nicht gemacht, da werde ich mich gleich ransetzen, dazu eine Verständnisfrage bzw. zur "neuen" Funktionsweise meines Programms:
Anstelle der Homepage, die mir den kompletten Inhalt mit Bannern, Werbung etc. auswirft, gehe ich mittels direktem Zugriff auf die php-Datei: htmlcode:=HttpLoader.Get('http://www.meineurl.de/fbedVereinsspielplan.php?edDatumVon=10.10.2012') und erhalte unter umständen kein html-code zurück? Danke Bernhard für Dein Feedback, die TWebBrowser Komponente ist leider nicht sehr ausgereift. Wenn mein Vorhaben allein mit Indy funktioniert werde ich es darüber ausprobieren. Vielleicht fällt trozdem jemandem ein, wie man die Schaltfläche "Quellcode anzeigen" ansteuern kann. lg Max |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 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