none
Website Automatisieren. RRS feed

  • Frage

  • Guten morgen,

    ich habe in der Firma ein Zeiterfassungssystem das Webbasierend ist.

    Dort würde ich gerne einen AutoLogin(funktioniert schon) und eine Kommt Stempelung durchführen.

    Damit ich zur Kommt-Stempelung komme muss ich zuerst auf "PZE-Meldung" klicken danach auf "Kommt" und diesen vorgang mit OK bestätigen. (das bestätigen mit OK soll der Anwender aber selber durchführen damit bei einem Neustart nicht nochmals eine Stempelung durchgeführt wird. Hier mal ein ausschnitt vom Code für "PZE-Meldung":

    Das ist der Link womit die seite aufgerufen wird: Link

    <html>
    <head>
    <link rel="stylesheet" type="text/css" originalhref="../../forms/satsa1082_at10_cronet/htdocs/css/maservpc.css">
    </head>
    <body class="menugerbg">
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <table class="Navigation" align="center">
    <tr>
    <td class="Navigation">
    <a target="Funktion" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=1">
    Willkommen</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="Menue" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=10">
    PZE-Meldung</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="Menue" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=12">
    PZE-Info</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="Funktion" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=11">
    KPI-Info</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="_top" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=9">
    Abmelden</a>
    </td>
    </tr>
    </table>
    </body>
    </html>

    Und hier der Code für "Kommt":

    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="../../forms/satsa1082_at10_cronet/htdocs/css/maservpc.css">
    </head>
    <body class="menugerbg">
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <BR>
    <table class="Navigation" align="center">
    <tr>
    <td class="Navigation">
    <a target="Funktion" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=2">
    Kommt</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="Funktion" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=3">
    Geht</a>
    </td>
    </tr>
    <tr>
    <td class="Navigation">
    <a target="Funktion" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=8">
    Abwesenheitsantrag</a>
    </td>
    </tr>
    </table>
    <BR>
    <table class="Navigation" align="center">
    <tr>
    <td class="Navigation">
    <a target="Menue" href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=0">
    Hauptmenü</a>
    </td>
    </tr>
    </table>
    <script language="JavaScript" type="text/javascript" ><!--//<![CDATA[
    top.Funktion.location.href="!MAServ.MAServ_Main?SESSIONID=15302008807915102714963078121249077082248088163&NEW_MENUID=1&BLANKPAGE=1";
    //]]>--></script>
    </body>
    </html>

    Gibt es da ne möglichkeit dies für einen Anfänger zu realisieren?

    Lg. a.fenz

    Freitag, 11. Mai 2012 05:26

Antworten

  • Unter Windows Vista und höher läuft der Windows Internet Explorer im Low Integritäts-Modus dies Verhindert das der Internet Explorer Daten an ein Process zurück geben kann der eine höhere Integrität hat (no write up).
    Deshalb ist das IE Objekt immer leer und IE.Document ist immer NULL!
    http://www.heise.de/security/artikel/Rechtlos-271516.html

    Du kannst die Navigate2 Funktion ausprobieren:
    Protected Mode Improvements
    http://msdn.microsoft.com/en-us/library/cc288472%28v=vs.85%29.aspx

    $ie = new-object -com internetexplorer.application
    $ie.visible=$true
    $ie.navigate2('http://satsa8035.maco.local/satsa1082_at10_cronet/!MAServ.MAServ_Main?DEVICETYP=PC&SPRACHE=GER&AUSWEISNR=50211&PINCODE=1304')
    while($ie.busy) {sleep -Milliseconds 5}
    $ie.Document.all | foreach {$_}

    Bei mir hat das nur Funktioniert wenn ich die PowerShell ISE als elevated (Administrator) ausführen lasse !

    Da man hier auf Daten und Programme (Internet Explorer) zugreift, die man selbst nicht unter Kontrolle hat, geht das meistens nicht lange gut!
    Deshalb sollte man mit dem Aufwand, den man dort hineinsteckt sehr sparsam sein!

    du wirst damit, glaube ich, nie glücklich !


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '



    Freitag, 11. Mai 2012 08:46

Alle Antworten

  • Internet suche: erster Treffer ;-))

    Webbenutzeroberflächenautomatisierung mit Windows PowerShell
    http://msdn.microsoft.com/de-de/magazine/cc337896.aspx

    Such du so etwas ?


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '

    Freitag, 11. Mai 2012 05:45
  • Danke aber diese Seite hab ich schon gefunden, nur das problem ist das im Quellcode "PZE-Meldung" nur als Text deklariert ist, und es mittels einen Link im Quellcode aufgemacht wird, der aber wiederum eine "SESSION ID" hat die sich jedes mal ändert. Aus diesem Grund komme ich nicht weiter.

    Freitag, 11. Mai 2012 05:51
  • Versuch mal folgendes:

    $ie = new-object -com internetexplorer.application
    $ie.visible=$true
    $ie.navigate('http://Adresse.zur.Seite')
    while($ie.busy) {sleep 1}
    $link = $ie.Document.getElementsByTagName('A') | where-object {$_.innerText -eq 'PZE-Meldung'}
    $link.click()

    Dokumentation zur Automation vom Internet Exoplorer:
    http://msdn.microsoft.com/en-us/library/aa752084%28v=vs.85%29.aspx


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '


    Freitag, 11. Mai 2012 07:31
  • So änlich habe ich das auch schon gemacht aber bekomme td. ne Fehlermeldung.

    PS C:\Users\a.fenz> $ie = new-object -com internetexplorer.application
    $ie.visible=$true
    $ie.navigate('http://satsa8035.maco.local/satsa1082_at10_cronet/!MAServ.MAServ_Main?DEVICETYP=PC&SPRACHE=GER&AUSWEISNR=50211&PINCODE=1304')
    while($ie.busy) {sleep 1}
    $link = $ie.Document.getElementsByTagName('A') | where-object {$_.innerText -eq 'PZE-Meldung'}
    $link.click()
    Sie können keine Methode für einen Ausdruck mit dem Wert NULL aufrufen.
    Bei Zeile:6 Zeichen:12
    + $link.click <<<< ()
        + CategoryInfo          : InvalidOperation: (click:String) [], RuntimeException
        + FullyQualifiedErrorId : InvokeMethodOnNull

    Freitag, 11. Mai 2012 07:42
  • Unter Windows Vista und höher läuft der Windows Internet Explorer im Low Integritäts-Modus dies Verhindert das der Internet Explorer Daten an ein Process zurück geben kann der eine höhere Integrität hat (no write up).
    Deshalb ist das IE Objekt immer leer und IE.Document ist immer NULL!
    http://www.heise.de/security/artikel/Rechtlos-271516.html

    Du kannst die Navigate2 Funktion ausprobieren:
    Protected Mode Improvements
    http://msdn.microsoft.com/en-us/library/cc288472%28v=vs.85%29.aspx

    $ie = new-object -com internetexplorer.application
    $ie.visible=$true
    $ie.navigate2('http://satsa8035.maco.local/satsa1082_at10_cronet/!MAServ.MAServ_Main?DEVICETYP=PC&SPRACHE=GER&AUSWEISNR=50211&PINCODE=1304')
    while($ie.busy) {sleep -Milliseconds 5}
    $ie.Document.all | foreach {$_}

    Bei mir hat das nur Funktioniert wenn ich die PowerShell ISE als elevated (Administrator) ausführen lasse !

    Da man hier auf Daten und Programme (Internet Explorer) zugreift, die man selbst nicht unter Kontrolle hat, geht das meistens nicht lange gut!
    Deshalb sollte man mit dem Aufwand, den man dort hineinsteckt sehr sparsam sein!

    du wirst damit, glaube ich, nie glücklich !


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '



    Freitag, 11. Mai 2012 08:46