AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Javascript values auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Javascript values auslesen

Ein Thema von la.reunion · begonnen am 8. Jul 2006 · letzter Beitrag vom 20. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#1

Javascript values auslesen

  Alt 8. Jul 2006, 13:47
Hallo ich ahbe eine funktion um ein Java-Script value asuzulesen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  webbrowser1.Navigate('http://www.dasbinich.info/myred/delphi/index.html');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage('Value lautet: ' + webBrowser1.OleObject.Document.Forms.item
  (0).Elements.item('uri').Value);
end;

Dann kommt immer als fehlermeldung EAccessViolation blablabla....
Was sit da los?

[edit=SirThornberry]Delphi-Tags ergänzt. Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

Re: Javascript values auslesen

  Alt 8. Jul 2006, 13:56
Einfachste Methode (vom Prinzip her):

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
 a, b, c, d, e, f, g: Variant;
begin
  a := webBrowser1.OleObject;
  b := a.Document;
  c := b.Forms;
  d := c.item[0];
  e := d.Elements;
  f := e.item['uri'];
  g := f.Value;
  ShowMessage('Value lautet: ' + g);
end;

Du brichst also jede Zuweisung auf eine einzelne Anweisung runter und dann debuggst Du bei welchem Zugriff genau die Zugriffsverletzung auftritt. Dann muss Du nur bei dem Objekt auf das Du zugreifst nochmal nachlesen wie der Zugriff genau zu erfolgen hat.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#3

Re: Javascript values auslesen

  Alt 8. Jul 2006, 13:57
Danke werde ich gleich mal probieren!

LG La.Reunion


EDIT: hier kommt der fehler!!!

  e := d.Elements; aber wie kann cih jetzt gucken was falsch ist?

Das codebeispiel kommt von

http://www.swissdelphicenter.ch/de/showcode.php?id=1847
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Javascript values auslesen

  Alt 8. Jul 2006, 14:05
Irendwie finde ich casten sympatischer, da sieht man wenigsten wo man ist.

Hast du dir die Webseite einmal angesehen? Wenn dort kein Formular ist, kann es auch keine Elemente haben.
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#5

Re: Javascript values auslesen

  Alt 8. Jul 2006, 14:09
doch da hats ein formular
....dieses hat kein name, deswegen den parameter 0


HIer könnt ihr euch davon überzeugn das ein formular da ist
http://rs.dr.ag/y0/Mnk4MXl4ODc-d/teter.txt.html

ka woran das dann leigt es hatte ja schoneinmal funktioniert aber eben nur 1 tag!


EDIT: Was ist casten?
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Javascript values auslesen

  Alt 8. Jul 2006, 21:41
Was ist das denn für einen merkwürdige Seite. Der Button steckt in irgendeinem iframe und wird erst erzeugt?

Wenn du mal per Einzelschritt den Text von Phoenix durchgehst (runde statt eckige Klammern) siehst du als Wert für d $000000. Damit lässt sich kein Element finden. Du kannst es ja einmal mit der hiesigen Suchseite http://www.delphipraxis.net/search.php mit form-Tag vergleichen.

Mit casten meinte ich das Arbeiten mit den richtigen Typen und nicht nur mit Variant, also hier von IWebBrowser2 bis IHTMLInputElement. Gibt zwar einiges mehr zu Schreiben, dafür hilft aber der Editor dabei und man weiß immer wo man zur Fehlersuche nachschauen muss.
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#7

Re: Javascript values auslesen

  Alt 8. Jul 2006, 23:05
ich ahbe mir das mit dem formtag angeguckt bin aber darasu nciht schleu geworden wie ich damit mein problem lösen kann.
Kann mir da jemand auf die sprünge helfem?
WOher weisst du das das d 0000000 ist?
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Javascript values auslesen

  Alt 9. Jul 2006, 00:38
Tut mir leid, aber es sollte dir auch nicht helfen, sondern lediglich zeigen, dass es so nicht geht.

Diese Seite ist wirklich, ähm, sonderbar. Das Formular mit dem Button wird erst so
document.write("<form target=_blank action=http://deutschland-ist-weltmeister.dr.ag method=post><input type=hidden name=uri value=/files/24814387/teter.txt><input type=submit name=dl.start value=teter.txt></form>");
erzeugt. Keine Ahunung, ob man auf so etwas überhaupt mit einem Programm zugreifen kann, jedenfalls nicht so einfach, sonst wäre das Formular gefunden worden.

Das mit d ist doch einfaches Debuggen, Haltepunkt an passender Stelle setzen, mit der Maus über die Variable oder den Ausdruck und Delphi zeigt, wenn es es auflösen kann, den aktuellen Wert an.
  Mit Zitat antworten Zitat
la.reunion

Registriert seit: 30. Apr 2006
152 Beiträge
 
#9

Re: Javascript values auslesen

  Alt 9. Jul 2006, 22:39
okay danke
aber vlt könnte man es so machen indem amn erst die seite in einem twebbrowser lädt und wenns ie fertig geladen sit den quelltext speichert und ausliest oder?
Das müsste doch eigentlcih funtkionieren.

Oder meinst du das das erst erzeugt wird wenn man den button drückt?

Lg La.Reuninon
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Javascript values auslesen

  Alt 9. Jul 2006, 22:52
dann solltest du gleich die Indy-Komponenten nehmen wenn es dir nur um den Quelltext geht und nicht um Darstellung
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 15:42 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