Überwachen wann neue bestimmt Seite im Internet Explorer aufgerufen wird

  • Hallo an alle,

    brauch einen Denkanstoß.

    Habe ein Tool geschrieben das eine Internetseite mit bestimmten Parametern öffnet und ein Login macht.

    Nun brauche ich noch nach dem Ausloggen, was der User von Hand macht einen Aufruf.
    1. Ansatz
    Nach dem Login wechsel die Webseite auf einen Login Screen. Es ändert sich die Webadresse und damit auch der Visible Text.
    Wie kann ich das prüfen ???

    2. Ansatz
    Der User bewegt seit einer Zeit "x" keine Maus oder Tastatur.

    Das es nicht Sauber geschrieben ist ist mir klar :(

    Danke schon mal für die Unterstützung.

    • Offizieller Beitrag

    Wie findest du manuell raus, ob der Benutzer ausgeloggt ist? Titel, Fenster geschlossen, ...?
    Kannst du ggf. im Hintergrund eine Schleife bauen, die sich erneut einloggt und wenn da die Meldung kommt ist bereits angemeldet, dann weißt dies und wenn nicht, kannst du alles beenden.
    Ich würde immer erst daran denken fällt dir ne technische Lösung ein, wenn nein, was tust du manuell und kannst du das automatisieren.

  • Ich will hier nicht zum Xenobiologist bejaer werden - aber er hat recht. Das fällt mir bei vielen Fragen hier auf. Die Beobachtung ist nicht geschärft. Die Frage ist immer, wie verändert sich etwas, das muss man scharf beobachten, dann verschiedene Szenarien überdenken --> Die Umsetzung in Code ist dann meist einfach.

    Nimm als Beispiel dieses Forum. Mit Login -- Shoutbox Box - ohne Login keine. Mit Login Dein Name ganz oben - ohne Login ein Login Button. Zwei Unterschiede die man auswerten kann?
    Der beobachtete Unterschied zweier Zustände ist wichtig -> der Code ist meist einfach.


    Gruß

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hallo Ihr beiden.

    mit der Beobachtung verstehe ich und so komme ich auch meistens zu meinem Erfolgen und brauche hier nicht fragen.

    Leider kann ich mich "mehrfach" ins System einloggen. Ist ein Web Dienst für eine Zeiterfassung.

    Leider ändert sich beim ausloggen der Titel der Seite nicht. (Sonst könnte ich ja eine Schleife bauen und das Fenster abfragen.)

    Es ändert sich die Seite.

    http://10.10.10.10:80/abc/123456

    auf

    http://10.10.10.10:80/abc/indexLogout.html

    mehr leider nicht direkt.

    Gut es gibt dann auf der Webseite dann "Buttons" die müsste ich dann prüfen mit _IEFormGetCollection könnte ein Weg sein. Problem ist nur wenn auf einer Unterseite mal dann der Button nicht sein sollte, habe ich ein Problem.

    Gruß

    Steffen

    P.S.: Wenn einer sagt er könnte mir helfen könnte ich auch per Privat Nachricht die HTML Seiten schicken.

  • Die Seite in unterschiedlichen Tabs öffenen? Dann bleibt im Ursprungstab die eine Adresse im neuene Tab die login Adresse ?

    Wenn Du garantieren kannst dass die Adressen immer gleich sind - in eine Ini schreiben vo dort als vergleichsvariable auslesen.....


    Gruß

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    • Offizieller Beitrag

    Könntest du es hiermit übrewachen?

  • Danke schon mal für den Code.

    Habe es mal vereinfacht bei mir getestet. Hier mein Test Code.



    erspuckt mir jetzt dies aus und Beendet dann das Skript.

    Starte Datei test.au3...

    http://10.10.10.10:80/abc/123456
    http://10.10.10.10:80/abc/123456
    --> IE.au3 T3.0-1 Warning from function _IEAttach, $_IESTATUS_NoMatch

    test.au3 -> Exit Code: 0 (Laufzeit: 3.57 sec)


    So wie ich es verstanden habe sollte er prüfen ob sich was ändert richtig ?

  • Das verstehe ich nicht. Wenn es mit Tabs nicht geht - mach doch zwei Fenster auf. Erstmal die "Start" Seite. Dann die Startseite nochmal. Dort loggst Du dich ein, nun haben die beiden Browserfenster doch unterschiedliche Adressen? Danach kannst Du ja ein fenster wieder schließen.

    Gruß

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hallo Peter,

    ich habe keine 2 Internetseiten.

    Ich öffne die erste Seite und wenn man sich abmeldet wird man auf eine andere Seite weitergeleitet.

    Es öffnet sich kein 2ter Tab oder des gleichen.

  • Sorry ich habe das überlesen - abmeldet - ich war immer bei anmeldet.

    Kannst Du wenn Du angemeldet bist nicht einfach die Adresszeile auslesen? und dann immer wieder vergleichen ob sich die Zeile geändert hat?


    Gruß
    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    3 Mal editiert, zuletzt von Peter S. Taler (11. Dezember 2015 um 15:39)

  • Du hast es Falsch verstanden.

    Folgender Ablauf

    - öffne mit meinem Skript eine Internetseite
    - gebe die Logindaten ein

    - User arbeit auf der Internetseite
    - User logt sich aus dem Programm aus oder der Timer der Internetseite läuft ab

    - Webseite bringt die aus Logseite
    bis hier hingeht alles
    (Dies ist der Teil den ich noch lösen muss)
    - Mein Skript erkennt es und ruft ein anderes Programm auf


    Gruß

    Steffen

  • Was erkennt Dein Script? Wie sieht dieses aus was erkannt wird? Ist es eine Textdatei oder *.log?

    ANGENOMMEN es ist eine Textdatei und ANGENOMMEN jeder Eintrag in ANGENOMMEN es ist eine Logdatei.txt oder *.log, ein Eintrag mit einem Datum, dann könntest Du immer das Datum vom letzten Eintrag überprüfen und darauf reagieren, also wie in Deinem Fall ein anderes Programm starten.

    Aber das ist nun mal: :Glaskugel: und X-Mas-Gedanken :weih:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hallo Alina,

    nein es gibt keinen Log oder so.

    Es ist eine Zeiterfassung die auf einen Webserver läuft. Und das Tool läuft auf einem Clientrechner, der keinen Zugriff hat außer den Webdienst.

    Gruß

    Steffen

  • Du schreibst doch: "Mein Skript erkennt es". Was ist dieses ES denn??? Wie soll ich mir dieses ES vorstellen? Bin ich zu doof das zu verstehen? Woher weißt Du, das Dein Script etwas, nämlich dieses uminöse ES, erkennt?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Er hatte vorher schon geschrieben, das ES das ausloggen meint. Also, wenn sich der Nutzer ausloggt soll ein Programm gestartet werden.
    Dafür muss man sich die Seite ansehen. Dort ist ja normal ein LOGIN-Button. Nach dem Anmelden dürfte dort dann LOGOUT stehen, oder so. Jetzt musst du bei diesem Button nur gucken, ob dort immernoch LOGOUT steht, oder ob dort wieder LOGIN steht.
    Da du den Browser startest kannst du das ja mit _IECreate machen. Danach hast du das Internetobjekt, mit dem du dann den Quelltext auslesen kannst, um dort zu reagieren. Firefox/Chrome gibts ja auch UDFs für, hab ich nur noch nie benutzt.
    Du nutzt ja auch _IEFormElementSetValue($oUsername, $pwb) um das Passwort zusetzen. Genauso kannst du auch einen Ausloggen-Button suchen und auslesen. Dafür müsstest du einmal den Quelltext der Seite geben. (Kannst ja im Browser anzeigen). Einmal, wenn du angemeldet bist und dann einmal, wenn du ausgeloggt bist. Im Quelltext kann man sich dann die Unterschiede ansehen. Notfalls auch den Quelltext anzeigen und durchsuchen,... Da gibt es viele Möglichkeiten. Ohne den Quelltext können wir dir nur leider kaum helfen, da das einfach Seiten bezogen ist.

  • Hallo Kanashius,

    danke für den Tip ich werde es am Montag mal untersuchen & probieren.


    Leider hat Peter Beitrag 13 komplett umgeschrieben somit verpufft mein Beitrag 14 etwas.

    Alina, Sorry das vielleicht mein Ablauf Aufstellung für dich nicht 100 % war. Kanashius hat es genau wieder gegeben.

    Euch ein schönes Wochenende.

    Steffen

  • Sorry - ja habe ich umgeschrieben - aber ziemlich schnell - trotzdem tut mir leid - aber ich war sowas von auf dem falschen Dampfer ..

    Gruß
    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)