Entwickler-Ecke
Internet / Netzwerk - Internet Explorer Textfeld füllen?
jackie05 - Fr 27.11.09 18:38
Titel: Internet Explorer Textfeld füllen?
Hallo,
ich habe versucht mit WinSpy das Textfeld von einer Internet Seite herauszufinden, leider gibt er mir nur die Frame zurück.
Also die Textfelder kann ich irgendwie nicht erkennen lassen.
Das ist dabei raus gekommen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var wndMain, wndChild: HWND; begin wndMain := FindWindow('IEFrame','Test Seite - Windows Internet Explorer'); if wndMain <> 0 then begin wndChild := FindWindowEx(wndMain, 0, 'TabWindowClass', nil); wndChild := FindWindowEx(wndChild, 0, 'Shell DocObject View', nil); wndChild := FindWindowEx(wndChild, 0, 'Internet Explorer_Server', nil); if wndChild <> 0 then begin SendMessage(wndChild, WM_SETTEXT, 0, Integer(PChar('Test'))); end; end; |
SendMessage habe ich hinzugefügt und möchte gerne ein Textfeld ausfüllen lassen, nur wie kann ich die Textfelder im Internet Explorer herausfinden?
Danke schonmal für die Hilfe.
MfG
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 27.11.2009 um 17:47
platzwart - Fr 27.11.09 21:45
Forensuche: "Webbrowser ausfüllen"
jackie05 - Fr 27.11.09 21:50
Danke Dir.
Ich möchte es aber extern von meinem Programm aus im Internet Explorer ein Textfeld ausfüllen lassen.
Wie könnte ich das machen?
MfG
FinnO - Sa 28.11.09 11:08
wenn du dich irgendwie irgendwo über dein Programm einloggen möchtest, kannst du das auch via idhttp.post machen und der Website die Daten direkt unterjubeln.
Halt die Forensuche betätigen.
jackie05 - Sa 28.11.09 17:09
Wie das funktioniert, weiss ich, aber ich habe was anderes vor und deshalb kann ich Indy nicht verwenden, trotzdem Danke.
Es muss ja eine möglichkeit geben, das Textfeld mit HWND Picker herauszufinden.
Irgendwie sind die Komponente, die auf IFrame sind, geschützt und nicht auslesbar.
Edit: Mal angenommen, ich erstelle jetzt eine index.html, die nur ein Textfeld beinhaltet:
Quelltext
1:
| <input type="text" name="Name"> |
Wie sähe dann der Quellcode aus, um über mein Programm dann das Textfeld auszufüllen?
Ich habe das mal so versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var wndMain, wndChild: HWND; begin wndMain := FindWindow('IEFrame','C:\Dokumente und Einstellungen\Internet\Desktop\index.html - Windows Internet Explorer'); if wndMain <> 0 then begin wndChild := FindWindowEx(wndMain, 0, 'TabWindowClass', nil); wndChild := FindWindowEx(wndChild, 0, 'Shell DocObject View', nil); wndChild := FindWindowEx(wndChild, 0, 'Internet Explorer_Server', nil); wndChild := FindWindowEx(wndChild, 0, 'text', nil); if wndChild <> 0 then begin SendMessage(wndChild, WM_SETTEXT, 0, Integer(PChar('Test'))); ShowMessage('Window Handle: ' + IntToStr(wndChild)); end; end; |
Wie mache ich das ambesten?
MfG
jaenicke - Sa 28.11.09 20:03
jackie05 hat folgendes geschrieben : |
| Es muss ja eine möglichkeit geben, das Textfeld mit HWND Picker herauszufinden. |
Nein
jackie05 hat folgendes geschrieben : |
| Irgendwie sind die Komponente, die auf IFrame sind, geschützt und nicht auslesbar. |
Die sind nicht geschützt, es sind schlicht keine Komponenten. Wie auch bei einem Formular mit vielen Komponenten wäre das viel zu ineffizient und langsam, zudem würde es kaum korrekt umsetzbar sein was das Design und die damit verbundenen Gestaltungsmöglichkeiten z.B. via CSS angeht.
Das wird ganz einfach selbst gezeichnet. Du kannst ja auch bei meinem Periodensystem z.B. keine Komponenten finden bis auf oben in der Toolbar:
http://www.delphi-forum.de/viewtopic.php?p=557541
jackie05 - Mo 30.11.09 01:19
Danke Dir.
Gibt es also keine möglichkeit ein Textfeld im Internet Explorer ausfüllen zu lassen, über mein Delphi Programm?
MfG
jaenicke - Mo 30.11.09 07:18
Von außen? Nicht sinnvoll, da du nicht direkt weißt, ob gesendete Buchstaben an der richtigen Stelle landen.
Gehen tut es z.B. über ein Plugin im IE. Ob das in deinem Fall möglich ist, müsstest du dir überlegen. Ein Plugin hat natürlich direkten Zugriff auf die Funktionen und Ereignisse des Browsers.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!