AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi formularfelder einer website ausfülle?
Thema durchsuchen
Ansicht
Themen-Optionen

formularfelder einer website ausfülle?

Ein Thema von RomanK · begonnen am 4. Okt 2002 · letzter Beitrag vom 5. Aug 2006
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte »    
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#31
  Alt 31. Dez 2002, 00:33
Ja bei einem Link auf eine andere Seite ist das so!
Was ist aber wenn ich mich z.B. bei freenet automatisch einloggen möchte?

Wie Username und Password in das Formular eingetragen werden ist ja hier auch schon gut erklärt und klappt auch.
Aber wie drückt das Programm jetzt den OK button?

<input type="submit" name="submit" value="ok" style="font-size:10px;">

Kann man den nicht genau wie die Eingabefelder ansprechen?
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#32
  Alt 31. Dez 2002, 01:51
das weiss ich nicht, aber schau mal weiter oben was ich da geschrieben hab, du musst nur den link zusammenbauen, dann musst du das Formular überhaupt nicht Ausfüllen, deswegen ist es mir auch schleierhaft, warum du danach fragst.
Gruss
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#33
  Alt 31. Dez 2002, 10:51
Hallo ich habe eine Lösung gefunden:
Hier ein Beispielcode:

Code:
uses
  MSHTML;

var
  WebForm :HTMLFormElement;
  WebDoc : HTMLDocument

begin
WebBrowser2.OleObject.document.forms.item(0).elements.item('username').value:='jochen.bender';
WebBrowser2.OleObject.document.forms.item(0).elements.item('password').value:='*********';
WebDoc := WebBrowser2.Document as HTMLDocument;
WebForm := WebDoc.forms.item(varEmpty, 0) as HTMLFormElement;
WebForm.submit;
end;
cu masters001
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#34
  Alt 31. Dez 2002, 16:16
Ich hab hierzu aber auch noch eine erweiterte Frage:

Wenn ich auf einen Banner klicke der auf ein JavaScript verweist wie kann ich das ich Delphi realisieren also:

Gibt es da eine Methode den Banner direkt anzuklicken, oder kann ich irgendwie das Javascript im HTML Formular aufrufen?

Code:
href="javascript:sendSMS(11,'B9A4...73B')">[img]/adserver.freenet.de/image.ng/site=fn&prod=chetools& kat=rub&tbl=smssnd&ppos=11&TransactionID=B9A4....73B[/img]</a></td>
so sieht das aus.
(Es ist der erste Banner bei Freenet.de, um eine SMS zu verschicken)


Hier könnte ich mir theoretisch auch einen link zusammenbasteln aber der 2.wert der übergeben wird wird jedesmal verändert!
Oder könnte ich den wert auch aus den HTML QT auslesen?

[edit=Sakura]Transaction ID gekürzt[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#35
  Alt 31. Dez 2002, 17:37
Hallo masters001,
Danke für den tip mit dem ansprechen der Formulare ohne Namen, das klappt schonmal, allerdings ist es mir nicht möglich mit deiner methode ein Formular abzuschicken, da sich das Formular in einem Frame befindet, und ich das document meines frames irgendwie nicht auslesen kann, kannst du mir da mal helfen? Danke im Vorraus.
Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#36
  Alt 31. Dez 2002, 17:54
Nach ein bischen Googlen schon gefunden:

Code:
procedure tform1.login;
var
  Webform : variant ;
begin
form1.WebBrowser1.OleObject.Document.Frames.item('main').Document.Forms.item(0).Elements.item('username').value := 'LANJAN' ;
form1.WebBrowser1.OleObject.Document.Frames.item('main').Document.Forms.item(0).Elements.item('password').value := 'moep' ;
WebForm := form1.WebBrowser1.OleObject.Document.Frames.item('main').Document.Forms.item(0);
WebForm.submit;
end;

end.
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#37
  Alt 5. Jan 2003, 20:56
Hallo bin noch auf ein Problem gestoßen:

Und zwar muss ich ein bestimmtes Form anprechen:
Code:
WebBrowser2.OleObject.document.forms.item('login').elements.item('username').value:=angaben[4];
wenn ich das aber ausführe kommt eine exception die auf errors in verbindung mit elements hinweist!
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#38
  Alt 10. Jan 2003, 15:36
Auf dieser Site geht bei mir gar nichts!
Speziell die Werte in die inputs einzutragen!
:= http://www.telekom.de/ttc/team_ie.htm
könnt ihr euch ja mal anschauen vielleicht fällt irgendeinem spontan was dazu ein!

Vielen Dank
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#39
  Alt 13. Jan 2003, 22:17
Hallo
Noch ne Frage:
weil ich mich mit meinem Programm bei verschiedenen Providern einloggen möchte habe ich meinen code ein bisschen "rationalisiert" :
Code:
WebBrowser2.OleObject.document.forms.item(0).elements.item(sms_full_Number_field).value:=sms_full_Number;
Ich habe jetzt die unterschiedlichen Felder und Eiträge in Variablen gespeichert (String) aber jedesmal wenn ich das Programm laufen lasse gibt es einen error!
Woran kann das liegen?
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#40
  Alt 14. Jan 2003, 00:36
Hallo masters001,
ich habe mich da jetzt eine ganze Menge mit befasst, d.h. ich habe ein ganzes Programm geschrieben,
dass eine Seite automatisch betreibt.
Das war sehr aufwendig, da es da noch viele kontrollmechanismen einzubauen galt.
Nun kann ich aus den dabei gemachten Erfahrungen schliessen, dass die meisten exception, besonders im Bezug auf elements daraus resultieren, dass die elemente zu früh angesprochen werden, d.h. sie sind noch nicht geladen.
Ich habe dieses Problem umgangen, indem ich im "ondocumentcomplete" event generell alles in "try" -> "except" einklammere, so dass diese Befehle ignoriert werden, wenn die datei noch nicht fertig geladen ist.

Das funktioniert nur deswegen, weil komischerweise, zumindest bei der Seite, mit der ich gearbeitet habe das "ondocumentcomplete" event mehrmals (an die 6 mal) ausgelöst wird.
Ich warte die events also solange einfach ab bis meine Befehle funktionieren. If-abfragen sind da natürlich von Nöten, da sonst dein Code mehrmals ausgeführt werden würde.
Ich könnte mir auch vorstellen, dass dieses Problem mit einem counter zu lösen wäre, welcher mitzählt das wievielte mal das event ausgelöst wurde, da kann ich aber nur sagen: ausprobieren.
Ich fand das Programmieren von autmatischem Webseitenavigieren extrem schwer, da die Laufzeiten stark von den Ladezeiten der Webseite abhängen, und man somit sehr variabel programmieren muss, fast mein ganzes Programm steht im "ondocumentcomplete" event.
Aber obwohl das Programm mittlerweile funktioniert kommt es regelmässig zu exceptions, weil die Seite irgendwelche Ladeverzögerungen oder ichweissnichtwas hat.
Insgesamt alles etwas seltsam. Zum Schluss bleibt mir nurnoch zu sagen, dass du , wenn du "try/except" verwendest dein Programm nicht in der Programmierumgebung starten solltest, weil Delphi die exceptions dann abfängt, und der "try" tag ignoriert wird.
Also erst kompilieren, und dann *.exe ausführen.
Greetz!
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 9   « Erste     234 56     Letzte »    


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 18:56 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