Hilfe - IE Seiten fertig laden

  • Hiho,

    ich beschäftige mich nun seit ein paar tagen mit autoit, und es gefällt mir sehr sehr gut =)

    aber leider bin ich nun bei meinem ersten problem angekommen, wo ich irgendwie nicht weiterkomme.
    ich muss mehrere seiten im internetexplorer aufrufen. der titel des fensters bleibt aber immer gleich, so das winwaitactive leider nicht greift.

    aber die sleep-funktion ist natürlich auch nicht das non-plus-ultra, denn wenn die abfrage auf den server mal was länger dauert, läuft der timer ab und klickt ins leere.

    hat jmd eine idee, wie ich es machen kann? bei winwaitactive, den optionalen text, den ich eingeben kann (wenn seite geladen ersccheint "Willkommen", bzw. in der Statusbar "Fertig". aber wenn ich das eingebe, bleibt das script hängen, also kann es nicht lesen.)

  • hey, danke für den tip.

    es ist sicherlich das, was ich suche, aber es funktioniert nicht richtig.
    beim ersten mal wartet er auf meine variable, aber danach nicht mehr.

    #include <IE.au3>
    $oIE = _IECreate("www.klickmich.de")
    send("!{Space}x")
    ;PW (optional User und language)
    send("abrakadaba")
    send("{ENTER}")
    ;Öffne Rollmenü
    _IELoadWait ($oIE) <-- wartet
    MouseClick("left", 10, 269)
    sleep(500)
    MouseClick("left", 40, 299)
    sleep(500)
    MouseClick("left", 70, 315)
    Sleep(500)
    ;Produkte
    MouseClick("left", 170, 362)
    ;Excel export
    _IELoadWait ($oIE) <-- wartet nicht mehr
    MouseClick("left", 1240, 188)
    sleep(500)
    MouseClick("left", 448, 420)
    WinWaitActive("Dateidownload")
    MouseClick("left", 689, 511)
    sleep(500)

    die fenstertitel sind bei beiden IELoadWait indentisch, nur VOR der pw-eingabe ist der titel anders.

  • naja, also es ist mein erstes projekt. theoretisch hab ich es halt auch schon fertig, aber es ist halt noch sehr fehleranfällig und verbesserungsbedüftig.

    und da sitzt ich gerade dran. winwaitactive und sleep brachten mich nicht zum erfolg, genau wie mouseclick auch verbessert werden kann.

    nur, da die iefunctions jetzt wieder was ganz neues sind, bräuchte ich da ein bissel hilfe bei.
    leider versuch ich grad vergeblichst mit ielinkclickbytext/index diesen click ohne koordinaten zu meistern ... hoffe aber, dass dadruch auch mein vorangegangenes prob gelöst wird, sonst steh ich nacher trotzdem noch wie ochs vorm berg *g*

    also für nützliche tips bin ich immer dankbar =)

  • es gibt auch ein paar leute(in diesem forum) die sich gut mit iefunktionen auskennen....
    poste einfach mal den quellcode der seite oder url geht auch....
    oder beschreib doch mal genau was passiert.....für mich siehts so aus als wenn da irgendwelche exeldateien gedownloadet werden sollen....
    der snoozer

  • die site befindet sich im intranet, von daher kommt man da nicht drauf.
    das mit den excel-dateien stimmt, wobei ich da der meinung bin, dass es schon gut ist *g*

    also ich beschreib mal den vorgang.

    ich melde mich auf einer site im intranet an (öffne also einen speziellen link im IE und gebe dann mein pw ein, bzw lasse es eingeben)
    dann habe ich ein 2 geteiltes fenster, im dem links ein index ist. dort muss ich erstmal nur eine baumansicht aufklappen (3 links klicken, es wird aber keine seite neu geladen).
    dann klicke ich auf einen link und es werden informationen im rechten fenster dargestellt. die werden von einem server abgefragt. das ganze mache ich 5 mal (dabei brauche ich die baumansicht nicht mehr verändern).
    die seiten brauchen zw 5 und 15 sek zum laden (wenn alles normal läuft ... also kann man sich nicht darauf verlassen, darum kein sleep).
    danach muss ich 1 button (img) klicken, ein fenster bestätigen und es kommt der speicherdialog. dort lasse ich dann den pfad eingeben (wahlweise auch pasten) und überschreibe die existierende datei.
    das alles nacheinander für 5 dateien.

    danach muss ich noch 2 dieser links ausdrucken und das ganze per mail verschicken. jedoch bin ich hier noch nicht angekommen, bzw werde ich, wenn das oben alles perfekt läuft, das analog übertragen können.
    theoretisch habe ich halt auch alles fertig, also sage ich der maus wo sie klicken soll, das er immer ein paar sek warten soll, und weiter gehts.

    beim feinschliff kommen mir zwar die theoretischen ideen, aber in der praktischen umsetzung haperts noch.

    das ist mein fertige version ... zZ hänge ich halt an den IEFunctions. wobei da noch so gut wie nix richtig klappt *g*

  • hi sc4ry,

    damit wir Dir helfen können, benötigen wir die jeweiligen Namen oder Indizes der HTML-Elemente. Ich habe im Autoit-Tutorial jeweils zwei kleine Beispiele zur IE-UDF geschrieben, vielleicht helfen die Dir ja auch schon weiter ;) . Wenn noch Fragen zur IE-UDF hast, kannst Du den Thread ja noch mit ein paar Details füttern.

  • also um IELoadWait nutzen zu können, brauche ich IECreate, oder?
    damit ich das ganze in ne variable packen kann ...

    aber was genau brauch ich jetzt, um links zu klicken, ist das IELinkClickbyText oder ...byIndex, oder sogar was anderes???

    hab mal nen Screen gemacht, hoffe das reicht, oder braucht ihr noch infos aus dem quellcode?

  • Hi,

    den Screenshot kann ich dank Webfilter hier nicht sehen :weinen: aber die benötigten Info's stehen eh im Quelltext. Wenn Du den noch postest könnten wir Dir wesentlich besser helfen.

    Du Brauchst im jedem Fall eine instanz vom IE ..also mit _IECreate anfangen.
    Für das Anklicken von Links kannst Du beide Funktionen verwenden.

    [autoit]


    #include <IE.au3>
    $oIE = _IECreate ("http://autoit.aufwaerts.de/jgs_portal.php?sid=")
    _IELinkClickByText ($oIE, "Guckloch öffnen") ; ACHTUNG hier ist ein Fehler in der Doku! die Function heißt _IELinkClickByText und nicht wie im Beispiel _IEClickLinkByText

    [/autoit]
  • damit jonk das bild auch sehen kann....

    Spoiler anzeigen


    es könnte auch sein dass es sich um ein frameset handelt....
    ansonsten kann ich mich jonk nur anschließen:mit quelltext mehr hilfe

    snoozer

    ps:du aknnst denn quelltext modifizieren sodass persönliche/geschütze daten nicht weitergegeben werden, solltest aber auf keinen fall wichtige html-elemtene einfach über bord werfen...

  • so, ich hoffe ihr könnt damit was anfangen =)

    hab mal zum ersten punkt (tagesumsatz (produkte)) alles aus dem quelltext rausgesucht.

    ich nehme mal an, dass man die klicks davor ja nicht mehr braucht, oder? (germany-monatsentwicklung-tagesumsatz)

    wonach muss ich jetzt suchen, damit ich ieclickblubb nutzen kann *g*

    also ich habe eben das komplette script fertig geschrieben, mit koordinaten und allem was grad billig zu schreiben war =)
    nun wird das komplette script in V2 umgeschrieben, die hoffentlich am ende perfekt sein wird.

    hab auch schon für mouseclick und send befehle gefunden, damit die maus/befehle nicht an das falsche fenster gehen. das werde ich nun auch erarbeiten.

    aber als erstes hoffe ich, dass ihr mich noch ein wenig bei den ie_functions unterstützt ;)

    schonmal danke im voraus =)

  • Hallo,

    ich bins nochmal.

    nicht das ich den thread puschen will, jedoch besteht mein prob immernoch.

    sind in meiner hochgeladenen txt denn die richtigen informationen, oder kann mir jmd einfach ein bsp. für ieclicklinkbyindex/text geben, dass ich anhand dessen mein script umbauen kann.

    leider bin ich nicht so html versiert und die hilfe hilft mir auch nicht so richtig dabei, was ich nun machen soll =/

    aber schonmal thx =)