Hiho!
Ich öffne per ie3.au eine Seite. Der User soll sich dann einloggen, eine bestimmte Unterseite öffnen (Adminbereich, das script soll keine Userdaten enthalten) und dann auf einen Link klicken der ein PopUp erzeugt.
Dieses Popup möchte ich nun per IE3.au-Befehle wieder steuern. Mein Problem: das Objekt in meinem Script ist noch das falsche Fenster.
Wie komme ich nun zu meinem neuen Popup-Fenster?
Alle Befehle innerhalb von der IE3 wollen eine URL haben, aber genau die ist leider abhängig von dem was der User zuvor macht.
Hier mein Script soweit:
[autoit]
#include <GUIConstants.au3>
#include <IE.au3>
GUICreate ("Bilderupload", 100, 300, 0, 0)
$open = GUICtrlCreateButton ("1) Öffne die Seite",0,10)
$upload = GUICtrlCreateButton ("2) Starte Upload", 0,60)
GUISetState(@SW_Show)
$folder=FileSelectFolder ("Wähle den Ordern mit den Bildern aus", "")
$search=FileFindFirstFile ($folder & "/" & "*.*")
if @error Then
MsgBox (1,"Fehler", "Verzeichnis konnte nicht gelesen werden")
EndIf
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $open
MsgBox (0,"Formular öffnen","Bitte Uploadformular aufrufen und anschließend auf 2) Starte Upload klicken")
$oIE = _IEcreate("http://www.deine_seite.de/")
If IsObj($oIE) Then
_IELoadWait($oIE)
EndIf
Case $upload
while 1
;- hier muss der Wechsel auf das neue IE-Fenster hin, sonst schreibt er in das ursprüngliche (nun falsche) Fenster
$file =FileFindNextFile ($search)
IF @error Then ExitLoop
$oForm = _IEFormGetCollection ($oIE, 0)
$oInputFile = _IEFormElementGetCollection ($oForm,1)
_IEAction($oInputFile, "focus")
Send($folder & "\" & $file)
_IEFormSubmit($oForm)
WEnd
MsgBox(0,"Upload abgeschlossen","Der Upload der Bilder sollte abgeschlossen sein. Bitte prüfen!")
EndSwitch
WEnd
An sich funktioniert alles, nur halt im falschen Fenster