![]() |
Javascript values auslesen
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] |
Re: Javascript values auslesen
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. |
Re: Javascript values auslesen
Danke werde ich gleich mal probieren!
LG La.Reunion EDIT: hier kommt der fehler!!!
Delphi-Quellcode:
aber wie kann cih jetzt gucken was falsch ist?
e := d.Elements;
Das codebeispiel kommt von ![]() |
Re: Javascript values auslesen
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. |
Re: Javascript values auslesen
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 ![]() ka woran das dann leigt es hatte ja schoneinmal funktioniert aber eben nur 1 tag! EDIT: Was ist casten? |
Re: Javascript values auslesen
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 ![]() 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. |
Re: Javascript values auslesen
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? |
Re: Javascript values auslesen
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. |
Re: Javascript values auslesen
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 |
Re: Javascript values auslesen
dann solltest du gleich die Indy-Komponenten nehmen wenn es dir nur um den Quelltext geht und nicht um Darstellung
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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