Ein paar Fragen zur IE.au3

  • Moinsen,

    Also, da ich mit der FF.au3 nicht so ganz zufrieden bin und die Sache mit MozLab auf anderen Rechnern so eine Sache ist, bin auf den IE umgestigen. Da ich mich noch nie damt beschäftigt habe sind da nun so ein paar Probs aufgetaucht:

    1. Warum kann ich folgenden Button nicht ansprechen ?
    Quellcode der Seite:

    Mein Versuch:

    [autoit]


    $oIE = _IECreate($sUrl);, 0, 0, 1)
    __IELockSetForegroundWindow(2)
    $oForm = _IEFormGetCollection($oIE, 0)
    $oUsername = _IEFormElementGetObjByName($oForm, "username")
    $oPassword = _IEFormElementGetObjByName($oForm, "password")
    _IEFormElementSetValue($oUsername, $sUsername)
    _IEFormElementSetValue($oPassword, $sPassword)
    _IEFormSubmit($oForm)
    _IENavigate($oIE, $s_Url2)
    $oForm2 = _IEFormGetCollection($oIE, 0)
    $oMenge = _IEFormElementGetObjByName($oForm2, "menge")
    _IEFormElementSetValue($oMenge, $Anzahl)

    [/autoit]

    Das gibt Scite aus:
    --> IE.au3 V2.4-0 Warning from function _IEFormGetCollection, $_IEStatus_NoMatch
    --> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Error from function _IEFormSubmit, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Warning from function _IEFormGetCollection, $_IEStatus_NoMatch
    --> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType

    2. Manchmal bekomme ich von Scite die Meldung mit Fehler unlock foreground window deswegen : __IELockSetForegroundWindow(2). Klappt aber nicht immer.

    3. Kann mir bitte mal einer erklären was dabei rauskommt und wie man sich das Ergebnis ansehen kann (MsgBox geht ja nicht): _IEFormGetCollection($oIE, 0)

    4. Wäre sehr nett wenn einer mir mal Grundsätzlich sagen würde, wie man Buttons und Eingabefelder anspricht. Die Sache mit dem Login funktioniert zwar einwandfrei, nur ich weis nicht wirklich wieso .
    Weis z.B. nicht woher das Script weis das es den Login Button drücken soll. Klar geht über _IEFormSubmit($oForm) aber wo ist die Angabe für den Login Button

    Danke an alle
    Gruß
    MrB

  • Hi MrB

    mit _IEFormGetCollection($oIE, 0) greifst Du auf ein Formular zu (<form method"get" ...><input type="text" ... /></Form>)
    Da in Deinem HTML-Code kein Formtag vorhaden ist, kann $oForm = _IEFormGetCollection($oIE, 0) nicht funktionieren.