Problem mit _IEFormGetCollection

  • Hi

    Bin noch ganz neu hier und habe nen kleines Problem... ?(
    (Habe leider hier im Forum keine passenden Antworten gefunden)
    Auf der Internet seite http://www.imageshack.us/ findet man 2 Forms in die obere komme ich leicht mit dem script rein.

    [autoit]


    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    $file_local = 'Nen Bild aufm PC'
    $fenster1 = _IECreate ("http://www.imageshack.us/",0,1,1)
    $oForm = _IEFormGetCollection ($fenster1,0)
    $o_link_eingabe = _IEFormElementGetObjByName ($oForm,"q")
    _IEFormElementSetValue ($o_link_eingabe,$file_local)

    [/autoit]

    Jetzt kommts^^
    Ich möchte aber nich oben bei Search images: sondern unten neben Auswählen also wo die lokale Bildadresse rein kommt hin da was einfügen und das dann abschicken.... :(

    Würde mich super über Hilfe freuen...

    MFG chris ;)

  • Hi chrisatack

    Ich habe mir mal den Seitenquelltext angesehen und habs auch erst garnich gefunden :weinen:
    probiere mal "fileupload" für Bilder und "url" für Url´s
    das für Videos hab ich noch nich gefunden aber du wolltest ja sowieso nur Bilder

    ich weiß jetzt nich obs richtich iss ich habs noch nich ausprobiert ;)

  • servus...alles ist möglich....diesmal über einen kleinen umweg....

    [autoit]

    $oIE = _IECreate("www.imageshack.us")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    $oForm = _IEFormGetCollection($oIE, 0)
    $oFile = _IEFormElementGetObjByName($oForm, "fileupload")
    $oFile.focus
    $sPath = "C:\localfile.txt"
    ControlSend($hwnd, "", "Internet Explorer_Server1", $sPath)
    _IEFormSubmit($oForm)

    [/autoit]

    snoozer

    edit....fehler drin gehabt..:S

  • hey ho...problem ist ganz einfach behoben...
    es handelt sich einfach beim fileupload nicht um das erste formelement(index 0) sondern um das zweite(index 1)...quellcode müsste dann so geändert werden....

    [autoit]

    $oIE = _IECreate("www.imageshack.us")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    $oForm = _IEFormGetCollection($oIE, 1)
    $oFile = _IEFormElementGetObjByName($oForm, "fileupload")
    $oFile.focus
    $sPath = "C:\localfile.txt"
    ControlSend($hwnd, "", "Internet Explorer_Server1", $sPath)
    _IEFormSubmit($oForm)

    [/autoit]

    Ps:ungetestet...zu faul^^

    snoozer

  • Moin.. Habe das Programm jetzt fertig.. wollte es mal hier posten..

    [Blockierte Grafik: http://img53.imageshack.us/img53/2201/pictureuphu2.png]

    Download:
    http://chrisatack.ch.funpic.de/PictureUP.exe

    ##############################################
    Code:

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #include <IE.au3>
    #include <Inet.au3>
    #include <array.au3>
    #include <string.au3>
    #include <file.au3>
    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ToolTip(" Prüfe auf Update ",10,10)
    ;#####################################################################################################
    ;### Version checken ( update laden ) ################################################################
    ;#####################################################################################################
    $version = '1.0'
    $server_pruefen = InetGetSize("http://www.wir-freunde.de/programme/pictureUP/pictureup.txt")
    If $server_pruefen > 0 Then
    $server = _INetGetSource("http://www.wir-freunde.de/programme/pictureUP/pictureup.txt");von server in variable laden
    $server_array = StringSplit ($server,"|"); durch | voneinander in ein array trennen
    ;_ArrayDisplay ($server_array)
    If $server_array[1] == $version Then
    ;
    Else
    ToolTip(" Update gefunden Lade von Server... ",10,10)
    InetGet($server_array[2],$server_array[3],1)
    ;MsgBox (0,"","Update")
    Run($server_array[3],@ScriptDir&"\")
    Exit
    EndIf
    EndIf
    ;#####################################################################################################
    ;#####################################################################################################

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\administrator\desktop\auto it\pictureup\aform1.kxf
    $Form1 = GUICreate("Picture UP ~ > ¢hrî§@t@¢k <", 284, 338, -1, -1)
    $label1 = GUICtrlCreateLabel("Picture UP", 8, 8, 267, 41, BitOR($SS_CENTER,$SS_CENTERIMAGE), $WS_EX_CLIENTEDGE)
    GUICtrlSetFont(-1, 24, 800, 0, "Verdana")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x808080)
    $Group1 = GUICtrlCreateGroup("", 8, 56, 265, 273)
    $input = GUICtrlCreateInput("", 16, 72, 249, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
    $durchsuchen_button = GUICtrlCreateButton("Durchsuchen", 16, 96, 113, 20, 0)
    $upload_button = GUICtrlCreateButton("Upload", 144, 96, 121, 20, 0)
    $statuszeile1 = GUICtrlCreateLabel("Status : ", 16, 144, 52, 17, BitOR($SS_RIGHT,$SS_CENTERIMAGE), $WS_EX_CLIENTEDGE)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x808080)
    $statuszeile2 = GUICtrlCreateLabel(" kein neues Update gefunden...", 68, 144, 197, 17, $SS_CENTERIMAGE, $WS_EX_CLIENTEDGE)
    GUICtrlSetBkColor(-1, 0x808080)
    $info = GUICtrlCreateButton("Info", 232, 304, 33, 17, 0)
    $information1 = GUICtrlCreateLabel("erlaubte Formate: "&@CRLF&"max Größe: ", 16, 168, 91, 57, $SS_RIGHT, $WS_EX_CLIENTEDGE)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x808080)
    $information2 = GUICtrlCreateLabel(" jpg, jpeg, png, gif, bmp, tif, tiff"&@CRLF&" < 1,5 MB", 107, 168, 158, 57, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetBkColor(-1, 0x808080)
    $version_anzeige = GUICtrlCreateLabel('v'&$version, 16, 304, 28, 17)
    $link_fertig = GUICtrlCreateEdit("", 16, 248, 249, 49, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL))
    GUICtrlSetData(-1, "Picture Link...")
    $Combo1 = GUICtrlCreateCombo("imageShack.us", 16, 120, 249, 25)
    $link = GUICtrlCreateLabel("Link des Bildes (im Zwichenspeicher) :", 16, 231, 200, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    ToolTip("",10,10)
    #EndRegion ### END Koda GUI section ###
    ;#####################################################################################################
    ;### Gui starten ####################################################################################
    ;#####################################################################################################
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $durchsuchen_button
    $file_local = FileOpenDialog("Bild wählen ...",@ScriptDir,"Bilder (*.jpg;*.jpeg;*.png;*.gif;*.bmp;*.tif;*.tiff)",1+2);datei aussuchen
    If @error Then
    MsgBox(32,"","Keine Bild zum uploaden ausgewählt!",2); wenn kein Bildausgewählt dann meckern^^
    GUICtrlSetData ( $statuszeile2," kein Bild gefunden.. ");Statuszeile des Programms aktualisieren
    EndIf
    ;MsgBox (0,"",$file_local)
    GUICtrlSetData ( $input,$file_local);Lokale Bildadresse anzeigen
    GUICtrlSetData ( $statuszeile2," Bild gefunden.. ");Statuszeile des Programms aktualisieren
    Case $upload_button

    if StringLen($input) < 1 Then
    MsgBox (32,"Bild?","Du hast noch kein Bild ausgewählt!",2)
    Else
    GUIctrlSetState ($upload_button,$gui_disable)
    GUIctrlSetState ($durchsuchen_button,$gui_disable)
    GUICtrlSetData ( $statuszeile2," suche Seite.. ");Statuszeile des Programms aktualisieren
    $oIE = _IECreate("http://www.wir-freunde.de/programme/pictureUP/picup.html",'',0)
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    $oForm = _IEFormGetCollection($oIE, 0)
    $oFile = _IEFormElementGetObjByName($oForm, "fileupload")
    $oFile.focus
    ControlSend($hwnd, "", "Internet Explorer_Server1", $file_local)
    ControlSend($hwnd, "", "Internet Explorer_Server1", '{enter}')
    ;_IEFormSubmit($oForm)
    GUICtrlSetData ( $statuszeile2," lade Bild hoch.. ")
    _IELoadWait($oIE)
    GUICtrlSetData ( $statuszeile2," erhalte Link.. ")
    $quelltext = _IEDocReadHTML($oIE)
    ;ClipPut ($quelltext)
    $pic_add = _StringBetween ($quelltext,'value=>')
    ;_ArrayDisplay ($pic_add)
    GUICtrlSetData ($link_fertig,$pic_add[0])
    ClipPut ( $pic_add[0])
    GUICtrlSetData ( $statuszeile2," fertig... ")
    GUIctrlSetState ($upload_button,$gui_enable)
    GUIctrlSetState ($durchsuchen_button,$gui_enable)
    EndIf
    Case $info
    MsgBox ( 32,"20.07.2007","###################################"&@CRLF&" Erstellt by > ¢hrî§@t@¢k <"&@CRLF&"###################################")
    EndSwitch
    WEnd
    ;#####################################################################################################
    ;#####################################################################################################

    [/autoit]


    Version: 1.0
    Größe: 418 kB
    Basis: Autoit
    Beschreibung des Programms:
    Zum hochladen von Bildern auf http://www.imageshack.us/
    sehr praktisch für Bilderpostings in Foren!!

    suppord des Programmes auf: rapidstalker.dl.am
    ##############################################

    MFG chris :D