AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Quellcode aus TWebBrowser

Ein Thema von -remit- · begonnen am 27. Okt 2012 · letzter Beitrag vom 27. Okt 2012
Antwort Antwort
Seite 1 von 2  1 2      
-remit-

Registriert seit: 11. Jan 2008
20 Beiträge
 
Delphi 2005 Personal
 
#1

Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 09:58
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 10:15
Würde mich auch interessieren.
Aber ob MS das vorgesehen hat? Habe schon haarsträubende Erfahrungen mit der COM-Schnittstelle vom IE-Control gemacht ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
-remit-

Registriert seit: 11. Jan 2008
20 Beiträge
 
Delphi 2005 Personal
 
#3

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 12:03
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)

Geändert von -remit- (27. Okt 2012 um 12:09 Uhr)
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 12:12
- JavaScriptbutton betätigen (kein Indy )
Vielleicht kannst du den JavaScript-Code nach Delphi portieren. Dann lässt sich alles mit Indy umsetzen.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
-remit-

Registriert seit: 11. Jan 2008
20 Beiträge
 
Delphi 2005 Personal
 
#5

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 12:20
Über den Javascriptbutton werden Daten aus einer Datenbank der Website abgerufen, geht das dann auch noch mit Indy?
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 12:28
Über den Javascriptbutton werden Daten aus einer Datenbank der Website abgerufen, geht das dann auch noch mit Indy?
Um das zu beantworten müssten wir den JS-Code sehen.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
-remit-

Registriert seit: 11. Jan 2008
20 Beiträge
 
Delphi 2005 Personal
 
#7

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 12:42
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")
}
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 13:03
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:
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")
EDIT: Welche Parameter genau vom Script übergeben werden kannst du mit z. B. Firebug ziemlich einfach rausfinden.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 13:24
MS muss es vorgesehen haben, wie sonst wird der 3. Quellcode generiert?
Über eine Browser-Internes Interface über das nicht externen Zugriff möglich?
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
-remit-

Registriert seit: 11. Jan 2008
20 Beiträge
 
Delphi 2005 Personal
 
#10

AW: Quellcode aus TWebBrowser

  Alt 27. Okt 2012, 13:39
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
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