IE Fenster mit _IEImgClick ansprechen

  • Hallo zusammen,

    ich hatte gestern schon versucht an eine Lösung über die Shoutbox zu kommen. Wurde dann aber gebeten einen Thread zu öffnen ;)

    Und hier ist mein Problem: Unsere Intranetseite loggt einen User automatisch nach Zeit X aus. Bevor dies passiert öffnet sich automatisch ein Popupfenster mit einem Timeout warning und man solle "OK" klicken damit man halt nicht ausgeloggt wird. Der Ok Button ist lediglich ein verlinktes Bild, daher auch der Befehl _IEImgClick.

    Nun muss ich dort aber natürlich angeben auf welches Fenster er diesen Befehl angeben soll. Da dieses Fenster ja nicht von mir mit dem Script geöffnet wurde (sondern automatisch erscheint) hab ich kein Plan wie ich dieses Fenster nun ansprechen soll.

    Momentan sind in meiner While Schleife folgende Abfrage:

    [autoit]


    If WinExists("https://craft.emea.fedex.com/ - Timeout Warning. Click OK to not end the session.") Then
    $timeout = WinActivate("https://craft.emea.fedex.com/ - Timeout Warning. Click OK to not end the session.")
    _IEImgClick ($timeout, "/cs/fsprd/cache/PT_OK_GER_1.gif", "src")
    EndIf

    [/autoit]

    Er erkennt zwar das Popup welches sich öffnet, nur der Befhl _IEImgClick funktioniert nicht - und das hat ganz sicher mit dem ersten Parameter zu tun.

    Ich habe mal AutoIt Info Tool angemacht und die Daten des OK Buttons ausgelesen. Hier das Summary:

    Spoiler anzeigen


    >>>> Window <<<<
    Title: https://craft.emea.fedex.com/ - Timeout Warning. Click OK to not end the session. - Windows Internet Explorer
    Class: IEFrame
    Position: 251, 125
    Size: 340, 249
    Style: 0x16CA0000
    ExStyle: 0x00000100
    Handle: 0x0006122A

    >>>> Control <<<<
    Class: Internet Explorer_Server
    Instance: 1
    ClassnameNN: Internet Explorer_Server1
    Name:
    Advanced (Class): [CLASS:Internet Explorer_Server; INSTANCE:1]
    ID:
    Text:
    Position: 0, 0
    Size: 334, 224
    ControlClick Coords: 157, 160
    Style: 0x56000000
    ExStyle: 0x00000000
    Handle: 0x000511D6

    >>>> Mouse <<<<
    Position: 411, 307
    Cursor ID: 0
    Color: 0xFCFCB5

    >>>> StatusBar <<<<
    1: javascript:window.opener.setupTimeout();self.location='https://craft.emea.fedex.com/psc/fsprd/EMPLOYEE/ERP/?cmd=resettimeout';this.close();
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    9:
    10:

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<
    https://craft.emea.fedex.com/ - Timeout Warning. Click OK to not end the session. - Windows Internet Explorer


    >>>> Hidden Text <<<<
    Navigation Bar
    https://craft.emea.fedex.com/psc/fsprd/EMPL…_TIMEOUTWARNING
    Address Combo Control
    Page Control
    Google
    Search Combo Control
    Search Control
    Command Bar
    Favorites Command Bar
    LinksBand
    Favorites Bar
    Add to Favorites Bar
    ITBarHost
    Menu Bar
    javascript:window.opener.setupTimeout();self.location='https://craft.emea.fedex.com/psc/fsprd/EMPLOYEE/ERP/?cmd=resettimeout';this.close();
    Zoom Level

    Wie kann ich nun mit diesen Daten das Fenster ansprechen? Hätte ich das Fenster selbst mit _IECreate erstellt wäre es ja einfach, dann bräuchte ich ja nur auf die Variable zu verweisen aber so hab ich keine Ahnung -.-

    Wer ist so nett und erklärt es mir?

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.

  • Probier mal folgendes aus:

    Ruf den Link in einem seperaten IE-Fesnter auf: "https://craft.emea.fedex.com/psc/fsprd/EMPLOYEE/ERP/?cmd=resettimeout" und lade anschließend deine bereits geöffnete Intranetseite neu.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hm... stimmt... das wär natürlich ne einfachere sache als einen Click in das Fenster zu simulieren... ich werds mal testen. Danke für den Denkanstoss.

    Mein AutoIT Smartphone GUI >>hier<<

    Der Mensch ist das einzige Tier, dass arbeiten muss.