| Autor |
Beitrag |
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 25.12.05 21:16
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button5Click(Sender: TObject); var ovElements: OleVariant; i: Integer; begin ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; for i := 0 to (ovElements.Length - 1) do if (ovElements.item(i).name= 'OK!') then ovElements.item(i).Click; end; |
und so ?
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: So 25.12.05 21:23
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: So 25.12.05 21:30
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Mo 26.12.05 12:56
anscheinend doch, versuch mal nach anderen kriterien, als dem namen auszuwählen
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 15:36
Hm, jetzt hab ich statt name "width" eingegeben, und den dazugehörigen Wert... (45), geht aber immer noch nicht!
Irgendwas funktioniert da nicht...
Irgendwelche Lösungsansätze?
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 15:45
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 16:38
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| uses MSHTML;
var iDoc: IHtmlDocument2; i: integer; ov: OleVariant; iDisp: IDispatch; iColl: IHTMLElementCollection; InputImage: HTMLInputImage; begin WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc); if not Assigned(iDoc) then begin Exit; end; ov := 'INPUT'; iDisp := iDoc.all.tags(ov); if Assigned(IDisp) then begin IDisp.QueryInterface(IHTMLElementCollection, iColl); if Assigned(iColl) then begin for i := 1 to iColl.Get_length do begin iDisp := iColl.item(pred(i), 0); iDisp.QueryInterface(HTMLInputImage, InputImage); if Assigned(InputImage) then begin if InputImage.Name = 'submit' then begin InputImage.Click; end; end; end; end; end; end; |
1000 Danke @ onlinehome und die anderen, aber vor allem dir!! Hast mir echt geholfen und Geduld mit meiner Dummheit gehabt *g*
Es geht!!
So, mein nächstes prob ist jetzt, ich würde gerne dass alles in einem Schritt geschieht (Website laden, Username/Pw eingeben und auf ok klicken), das würde ja auch gehen, aber wenn ich das alles in eine einzige procedure reinmach dann versucht er natürlich auf ok zu klicken noch bevor die seite geladen ist bzw. die Daten zu früh einzugeben.
Giebts da irgend nen Befehl damit die Anwendung einfach nach dem Befehl Website laden kurz ne Sekunde wartet und dann die Daten eingiebt, wieder ne Sekunde wartet und dann auf ok klickt?
Habs schon mit sleep(1000); und so probiert, aber ist ja klar dass das nicht geht da dann ja die ganze Anwendung ne Sekunde lang pausiert...
Nochmals danke, ich hab mein Ziel schon fast erreicht
Edit: Noch n kleines Prob:
ich will den Browser zu "javascript:scroll_popup('/messages/mail_sms_send.html',480,725);"
Navigaten aber das Problem ist jetzt, dass in der adresse " ' ' " enthalten sind die Delphi irgendwie durcheinander bringen, wie kann ich das lösen?
Danke!!
Moderiert von raziel: Code- durch Delphi-Tags ersetzt
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 17:23
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 17:45
Omg, der Webbrowser scheint das Javascript nicht über Navigate aufrufen zu können, was mach ich jetzt?
Edit: Das mit den Try-Finally Blöcken hab ich mal anders gelöst, keine Ahnung ob das ne gute Variante war:
Hab 5 timer reingemacht, der erste zum Seite laden braucht 6 Sekunden, danach deaktivert er sich und aktiviert den nächsten Timer, und so weiter halt *g*
Alles was noch fehlt ist wie ich das dumme Sms-Fenster öffne das ja Javascipt ist...
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 18:13
Mit den Timern ist zwar etwas umständlich tut aber auch seinen Zweck...
Wegen den SMS-Fensters:
Mach ein neues Formular und klopp nen webbrowser drauf. wieder das ganze anmelde zeugs (also der code von vorhin) und dann webbrowser1.navigate(rootdir+'/messages/mail_sms_send.html');
rootdir ist eine string-variable mit den server root pfad, z. B. Quelltext
Welchen Pfad du als rootdir definieren musst erfährst du wenn du auf die von dir genannte url gehst, dich dort anmeldest und den pfad welcher dann in der adressleiste steht kopierst, natürlich ohne den dateinamen und das abschließende /. Z. B. http://login.freenet.de/bla/irgendwas.php muss im string so stehen: http://login.freenet.de/bla
Verständlich?
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 18:21
Also, die Adresse wo der Button zum Sms versenden steht, ist
Quelltext 1:
| http://office.freenet.de/mms/index.html |
Also muss ich dann jetzt
Quelltext 1:
| webbrowser1.navigate('http://office.freenet.de/mms/index.html'+'/messages/mail_sms_send.html'); |
oder was?
Wenn ich auf Sms schreiben klicke seh ich nämlich keine Url, ist ja auch nur n Php Script....
|
|
jakobwenzel
      
Beiträge: 1889
Erhaltene Danke: 1
XP home, ubuntu
BDS 2006 Prof
|
Verfasst: Mo 26.12.05 18:24
Du musst den Pfad nehmen, und keine Datei, also
Delphi-Quelltext 1:
| webbrowser1.navigate('http://office.freenet.de/mms/index.html'+'/messages/mail_sms_send.html'); |
_________________ I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 18:33
Hm, wenn ich als Pfad
Quelltext 1:
| http://office.freenet.de/mms/index.html/messages/mail_sms_send.html |
eingebe, kommt trotzdem nur das standard fenster wo ich auf den Button klicken muss,
irgendwie brauch ich anscheinend das dumme java script....
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 18:36
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 19:03
...
Quelltext 1:
| http://office.freenet.de/mms/messages/mail_sms_send.html |
Not Found
The requested URL /mms/messages/mail_sms_send.html was not found on this server.
Soviel dazu ^^
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 19:41
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 20:09
Doch, das ist sicher die richtige Url!!
home.arcor.de/brotma...lphi/Clipboard01.jpg
home.arcor.de/brotma...lphi/Clipboard03.jpg
Hoffe ihr könnt mir noch helfen, ansonsten wäre die Arbeit der letzten 5 Stunden umsonst gewesen

|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 20:19
Du könntest mal den Seiten-Quelltext der Freenetseite hier als Anhang hochladen. Dann kann ich mal schauen was das JavaScript alles macht. OK?
|
|
Die Brotmafia 
      
Beiträge: 110
Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
|
Verfasst: Mo 26.12.05 20:33
Bitte sehr, und nochmals danke für deine Mühe!!
Einloggen, um Attachments anzusehen!
|
|
Andreas L.
      
Beiträge: 1703
Erhaltene Danke: 25
Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
|
Verfasst: Mo 26.12.05 21:37
Also,
freenet.de JavaScript 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function scroll_popup(url,xw,yw) { var wintop = (screen.height - yw) / 2; var winleft = (screen.width - xw) / 2; jetzt = new Date(); //var wintitle = jetzt.getTime(); var wintitle = "scroll_popup"; var params = "resizable,scrollbars,height=" + yw + ",width=" + xw + ",left=" + winleft + ",top=" + wintop; pop1 = window.open(url,wintitle,params); } |
Das ist der JavaScript-Code für das SMS-Popup. So wie ich sehe übergibt das Script das aktuelle Datum/Zeit als Fenstertitel. Eine Zeile darunter wird der Fenstertitel auf "scroll_popup" festgelegt. Hmm... Ich bin nicht so der JavaScript Profi! Was wird da mit der Variable pop1 gemacht?
Mir fällt nicht ein wieso dir da ein ungültiger Pfad gezeigt wird...
Aber du könntest mal einen Code suchen bzw. den für den Submit-Image zu modifizieren und dann auf der page einen klick auf den sms button zu machen...
|
|