IE Form Probleme

  • Hallo,

    folgendes Script funktioniert leider nicht!
    Könnt Ihr mal drübersehen?

    Das kann das Script
    Google startet
    Feld wird ausgefüllt
    Suchergebnis wird angezeigt!

    [autoit]


    #include <IE.au3>

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

    $IE = _IECreate("http://www.google.de")

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

    $Coll = _IEFormElementGetCollection($IE,0)

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

    $Obj = _IEFormElementGetObjByName($Coll,"q")

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

    _IEAction($Obj,"focus")
    send("youtube")

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

    $Obj = _IEFormElementGetObjByName($Coll,"btnG")
    _IEAction($Obj,"focus")
    send("{Enter}")

    [/autoit]

    Der Fehler

    • Der IE wird 2 x gestartet
    • Das Feld wird nicht ausgefüllt
    • Die Suche startet nicht

    Kurzinfo
    q ist das Suchfeld von Google
    btnG ist der Button von Google (Google-Suche)

    Eine Ahnung was da falsch ist?

    Grüße
    Ilse :(

  • also ich hab dein script unverändert getestet und es geht nur ein fenster auf und er sucht nach youtube... also das was du wolltest oder?^^
    in deinem Beispiel kannste aber auch gleich enter senden nach Youtube weil du nciht extra auf den button klicken musst

    also ich hab hier auf arbeit win xp mit iexplorer 8

    Einmal editiert, zuletzt von Kijan (6. September 2010 um 15:35)

  • Hallo,

    danke für die Rückmeldung!
    Irgendwie habe ich kein Glück.
    Bei mir starten 2 Fenster 1x IE leer + 1x Google
    danach tut sich nichts mehr!

    Ich habe Vista, Internet-Explorer 7

    das würde heißen, es funktioniert nicht mit dem IE 7?

    Gibt es auch eine Möglichkeit das auf dem Firefox zu machen?

    Grüße
    Ilse ;)

  • So sollte es funktionieren:

    [autoit]

    #include <IE.au3>

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

    $oIE = _IECreate("http://www.google.de")
    $oForm = _IEFormGetCollection($oIE,0)
    $oInput = _IEFormElementGetObjByName($oForm,"q")

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

    _IEFormElementSetValue($oInput,"youtube")
    _IEFormSubmit($oForm)

    [/autoit]

    Hätte man sich die Mühe gemacht und die SciTE Console in deinem Script angeschaut, hätte man sowas gesehen:

    Code
    --> IE.au3 V2.4-0 Error from function _IEFormElementGetCollection, $_IEStatus_InvalidObjectType
    --> 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 _IEFormSubmit, $_IEStatus_InvalidDataType

    Der erste Fehler geht also von _IEFormElementGetCollection aus.
    Und die Fehlermeldung sagt: "InvalidObjectType". Das liegt daran, dass _IEFormElementGetCollection() ein Formular Objekt erwartet.
    Meine Vermutung ist, dass _IEFormElementGetCollection() viel mehr _IEFormGetCollection() sein sollte, oder? Dann macht's nämlich auch Sinn, und funktioniert (siehe mein Script oben)

  • autoBert,
    danke für die Links, sieht alles ziemlich heftig aus.
    Werd ich mir natürlich in Ruhe durchlesen. Prima Tutorial!

    SEuBo,
    sorry, deine Zeilen funktionieren bei mir leider auch nicht.
    2 IE-Fenster öffnen sich und dann passiert nichts mehr! Trotz anderem Code!

    Übrigens, ich bin gerade dabei auf den InternetExplorer 8 upzudaten.

    Zitat


    Hätte man sich die Mühe gemacht und die SciTE Console in deinem Script angeschaut, hätte man sowas gesehen

    Muß ich mir angewöhnen, bin doch erst einige Tage hier! ;)
    Danke für den Hinweis!

    Ich werd mich wieder melden, wenn ich den Internet-Explorer 8 drauf habe.
    Könnte doch wirklich am IE7 liegen! Oder?

    Grüße an Euch
    Ilse