Beiträge von MiamiRize

    Beides geht nicht ich mach erstmal eine pause davon mal sehen ob ich es morgen weiter versuche


    vielen vielen dank für deine / eure nette hilfte!

    ich wollte da wo URL steht die URL reinschreiben :D


    ja da hast du recht damit kenne ich mich nicht wirklich aus

    Wie genau ist das


    _IEAttach ( $sString [, $sMode = "title" [, $iInstance = 1]] )


    ich will jetzt bei $sMode eine url angeben also wie mache ich das? so:


    $oIE = _IEAttach ( $sMode = "URL")

    Habe folgendes gemacht:


    Rauskommt der fehler:


    ==> Incorrect number of parameters in function call.:
    $oIE = _IEAttach("https://servicecenter-test.controlware.de/Tools/TicketDetailDialog/TicketDetailDialog.aspx?ticketid=IN1603759", 0, 1, 0)
    $oIE = ^ ERROR

    AutoIt
    #include <IE.au3>
    _IEErrorNotify(False)
    Do
    $oIE = _IECreate("https://servicecenter-test.controlware.de/Tools/TicketDetailDialog/TicketDetailDialog.aspx?ticketid=IN1603759")
     Until IsObj($oIE)
    FileWrite("debug.html", _IEDocReadHTML($oIE))
    $oColl = _IETagNameGetCollection($oIE, "iframe")
    For $oObj In $oColl
    ConsoleWrite($oColl.src & @CRLF)
    Next

    Nope


    ==> Variable must be of type "Object".:
    For $oObj In $oColl
    For $oObj In $oColl^ ERROR

    der link:



    Der fehler:


    ==> Variable must be of type "Object".:
    For $oObj In $oColl
    For $oObj In $oColl^ ERROR

    ==> Variable must be of type "Object".:
    For $oObj In $oColl
    For $oObj In $oColl^ ERROR


    :/

    Also ja die seite öffnet sich und alles wird normal gestartet.



    Ich habs so gemacht und es kommt immernoch der gleiche fehler nur das jetzt ein kleiner sleep dabei ist

    Es wird mit Ajax und viel Javascript gearbeitet also gehe ich mal davon aus das es tatsächlich in einem Frame drinne liegt, da die Id im Source überhaupt nicht zu sehen ist.
    Oder die Id ist auf einem neuen Tab / auf einem neuen Fenster und du hantierst mit der falschen Id herum.

    Die ID ist in einem Knopf zum ausdrucken und bei dem kann ich untersuchen finden und dort finde ich die beschriebene Id

    Führ das mal aus und poste den Inhalt der Konsole:

    ==> Variable must be of type "Object".:
    For $oObj In $oColl


    For $oObj In $oColl^ ERROR

    Dann entferne doch alle relevanten Daten aus der Source. Wir brauchen die Struktur der Seite um die Web-Elemente und deren Anordnung feststellen zu können.

    Der Sourcecode ist 1018 zeilen lang aber hier...:

    Java
    t

    Tut mir leid das darf ich leider nicht da das eine Firmen interne seite ist.


    Was braucht ihr denn um mir weiter zu helfen? (evt nur ein teil des source code?)

    Im Funktionsaufruf sind alle möglichen Parameter aufgeführt. Sind Parameter mit einem Standardwert vorbelegt (In dieser Funktion sind alle Parameter vorbelegt), braucht man diese nicht angeben, wenn man sie mit dem Standardinhalt aufrufen will.Hier möchtest du aber den 4.ten Parameter ändern, somit musst du alle Parameter davor (auch wenn sie unverändert bleiben) angeben. Dein Aufruf muss also lauten:
    $oIE = _IECreate("URL", 0, 1, 0)

    Aber ich vermute, dass das auch nichts ändern wird. Das $oIE wird vermutlich existieren - aber nicht sofort der durch das seiteninterne Skript nachzuladene Inhalt.
    Versuche es einfach mal mit obigem Aufruf und setze ein Sleep() dahinter, für den Anfang 2000 ms oder 1000 ms. Einfach variieren.

    Also ein Fehler weniger! :D


    Danke für die Erklärung für dumme.



    Die Fehler:


    --> IE.au3 T3.0-2 Error from function _IEGetObById, $_IESTATUS_InvalidObjectType
    --> IE.au3 T3.0-2 Error from function _IEAction(click), $_IESTATUS_InvalidDataType

    Das im vorigen Post von dir gezeigte Snippet enthält aber gar kein _IELoadWait - wie kommst du dann zu dem Fehler? - habs gerade gesehen: _IECreate verwendet intern _IENavigate und dieses wiederum bei gesetztem Flag $iWait die Funktion _IELoadWait.In deinem Snippet musst du also das Flag für Wait in _IECreate auf 0 setzen, sonst hast du keinen Unterschied zu _IELOadWait!


    _IELoadWait ist auch nicht immer tauglich, sagt dir auch die Hilfe dazu:


    Vielen Dank für die ausführliche hilfe.


    Ich fühle mich wie der dümmste mensch der Welt aber könntest du mir sagen wie genau ich _IECreate auf 0 setze?

    Also ich habe es nun so gemacht:



    Leider bekomme ich immer diese fehler:
    --> IE.au3 T3.0-2 Error from function _IELoadWait, $_IESTATUS_ClientDisconnected (-2147417848, Browser has been deleted prior to operation.)
    --> IE.au3 T3.0-2 Error from function _IEGetObById, $_IESTATUS_InvalidObjectType
    --> IE.au3 T3.0-2 Error from function _IEAction(click), $_IESTATUS_InvalidDataType


    Ok dann siehts so aus als würde es in einen iframe liegen