1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. lionking

Beiträge von lionking

  • IniRead Problem

    • lionking
    • 7. September 2013 um 14:32

    So wie ich das sehe, schreibst du mit dem Code aus dem zweiten Beispiel "Error" in den Parameter der INI-Datei.
    Hier solltest du meiner Meinung nach besser die Variable $selection einsetzen.

  • _FFLoadWait() Timeout festlegen

    • lionking
    • 7. September 2013 um 12:09

    Hallo,

    ich steuere meinen Firefox über die FF.au3 an, um eine Seite aufzurufen.
    Leider dauert es manchmal sehr lange, bis die Seite komplett geladen ist. Daher möchte ich das Timeout des _FFLoadWait() verkürzen.
    Aber egal, was ich bisher ausprobiert habe, es zeigt keine Wirkung.

    Diese beiden Versionen habe ich bisher ohne Erfolg getestet:

    Code
    _FFOpenURL($url)
    _FFLoadWait(10000)
    bzw.
    _FFLoadWait(10000,5000)

    Wie muss ich vorgehen, dass der Versuch, die Seite zu laden früher abgebrochen wird?

    Danke.

  • Variable intern ablegen

    • lionking
    • 14. Dezember 2011 um 11:10

    Hallo!

    Gibt es eine Möglichkeit Variablen innerhalb der EXE abzulegen?
    Derzeit behelfe ich mich mit einer INI-Datei, hätte aber gerne insgesamt nur eine Datei.
    Es handelt sich um 5 Variablen, wobei diese veränderbar sein müssen, sonst könnte ich sie ja fix im Programm hinterlegen.

    Geht das überhaupt?
    Meine Suche in diese Richtung hat jedenfalls bisher nichts gebracht.

  • PDF horizontal scrollen

    • lionking
    • 31. Oktober 2011 um 12:46

    Das wäre eine Möglichkeit. Allerdings weiß ich ja nicht, wie oft ich die Tastenkombination senden muss, um rechts zu sein.

    Habe jetzt mal folgendes probiert:

    [autoit]

    Opt("WinTitleMatchMode", 2)
    Opt("SendKeyDelay", 50)
    WinWaitActive("Adobe Reader")
    Send("^y")
    Send("400{ENTER}")
    ControlClick("", "", "[CLASS:ScrollBar; INSTANCE:1]","right")
    sleep(300)
    Send("{Down 3}")
    Send("{Enter}")

    [/autoit]

    Bin aber nicht sicher, wie zuverlässig das funktioniert, da ich nicht abfragen kann, wann das Menü geöffnet ist. Aktuell warte ich einfach einen kleinen Augenblick.
    Das mit der Ende-Taste habe ich auch noch nicht im Griff und der Rechtsklick auf die vertikale Scrollbar bleibt ohne Wirkung.

  • PDF horizontal scrollen

    • lionking
    • 31. Oktober 2011 um 10:55

    Hallo!

    Ich möchte per AutoIT eine PDF (1seitig) im Adobe Reader öffnen und sofort in die Ecke rechts unten springen, da ich dort bei vielen Dokumenten eine Angabe kontrollieren möchte.
    Das untere Ende des Dokuments kann man einfach über das senden der "Ende"-Taste erreichen.
    Wie kann ich aber nach ganz rechts scrollen? Gibt es dafür eine Tastenkombination, oder muss ich das anders lösen.
    Kann ich die Scrollbar evtl. über [CLAS:ScrollBar; INSTANCE:1] irgendwie ansprechen und ganz nach recht bewegen?

  • Formular wird nicht gefüllt

    • lionking
    • 27. September 2011 um 14:26

    Herzlichen Dank. Der Hinweis hat die Lösung gebracht.

    Hier noch mal das fertige Script für die Bedienung der Juniper VPN Software:

    [autoit]

    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    $url = IniRead("junfill.ini", "VPN" , "URL", "") ; URL Login-Seite einlesen
    $username = IniRead("junfill.ini", "VPN" , "Username", "") ; Benutzername einlesen
    $form = IniRead("junfill.ini", "VPN" , "Formular", "") ; Formularname einlesen
    $user = IniRead("junfill.ini", "VPN" , "Feld", "") ; Eingabefeld für Benutzername einlesen

    [/autoit][autoit][/autoit][autoit]

    $oIE = _IECreate()
    _IENavigate($oIE,$url) ; Login-Seite aufrufen
    $oFormular = _IEFormGetObjByName($oIE,$form) ; Formular festlegen
    $oUsername = _IEFormElementGetObjByName($oFormular,$user) ; Eingabefeld bestimmen
    _IEFormElementSetValue($oUsername,$username) ; Username eintragen
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{TAB}") ; Focus auf Passwort-Feld setzen

    [/autoit]

    Hier noch die nötige ini-Datei:

    Code
    [VPN]
    URL=https://ssl-eu1.t-systems.com/firma
    Username=username@vpn.de
    Formular=frmLogin
    Feld=username
  • Formular wird nicht gefüllt

    • lionking
    • 27. September 2011 um 13:31

    Hmm, komisch, nach einem Rechnerneustart läuft es jetzt.

    Zusatzfrage:

    Durch folgende Ergänzung möchte ich den Focus auf das Passwort-Feld setzen, damit ich dieses gleich eingeben kann.
    Das Feld lässt sich grundsätzlich ansprechen, das habe ich mit einem Text, den ich testweise übermittelt habe, getestet.
    Allerdings wird mir immer nur die Adresszeile des Browsers aktiv gezeigt.

    [autoit]

    $oFocus = _IEFormElementGetObjByName($oFormular,"password")

    [/autoit][autoit][/autoit][autoit]

    _IEAction ($oFocus, "focus")

    [/autoit]


    Danke für die Unterstützung.

  • Formular wird nicht gefüllt

    • lionking
    • 27. September 2011 um 11:49

    Ich bekomme leider immer noch die gleichen Fehlermeldungen, nur halt jetzt von der anderen Funktion.

    Das Formular wird nicht gefunden :(

  • Formular wird nicht gefüllt

    • lionking
    • 27. September 2011 um 10:42

    Für meinen VPN-Zugang möchte ich den Usernamen automatisch befüllen lassen. Die Anmeldung geschieht über den Internet-Explorer 9.

    Ich habe mir aus den Beispielen das vorgegebene Script genommen und an meine Seite angepasst. Leider funktioniert das nicht.

    [autoit]

    #include <IE.au3>
    $oIE = _IECreate()
    _IENavigate($oIE,"https://ssl-eu1.t-systems.com/dana-na/auth/url_default/welcome.cgi") ; VPN-Login aufrufen

    [/autoit][autoit][/autoit][autoit]

    $oFormular = _IEFormGetCollection($oIE,"frmLogin") ; Forumular festlegen

    [/autoit][autoit][/autoit][autoit]

    $oUsername = _IEFormElementGetObjByName($oFormular,"username") ; Eingabefeld bestimmen

    [/autoit][autoit][/autoit][autoit]

    _IEFormElementSetValue($oUsername,"test") ; Username eintragen

    [/autoit]


    Ich bekomme immer Fehlermeldungen:

    Code
    --> IE.au3 V2.4-0 Warning from function _IEFormGetCollection, $_IEStatus_NoMatch
    --> IE.au3 V2.4-0 Error from function _IEFormElementGetObjByName, $_IEStatus_InvalidDataType
    --> IE.au3 V2.4-0 Error from function _IEFormElementSetValue, $_IEStatus_InvalidDataType

    Hier noch ein Ausschnitt des Quellcodes der Seite. Eigenltich müsste es doch passen...

    Code
    form name="frmLogin" action="login.cgi" method="POST" autocomplete="off" onsubmit="return Login(1)">
        <input type="hidden" name="tz_offset">
        <table border="0" cellpadding="2" cellspacing="0">
                                        <tr>
                                                <td nowrap  colspan="3"><b>Welcome to the</b></td>
                                        </tr>
                                        <tr>
                                                <td nowrap  colspan="3"><span class="cssLarge"><b>Universal Secure Internet Gateway.</b></span></td></tr>
    
                                        <tr>
                                              <td colspan="3">&nbsp;</td>
                                        </tr>
    <tr>
    
    
                                <td valign="top">
    
                                        <table border="0" cellspacing="0" cellpadding="2"><tr>
    <td>Username</td>
    <td>&nbsp;</td>
    <td><input type="text" name="username" size="20"></td>
    </tr>
    Alles anzeigen

    Wo liegt mein Denkfeher?

    Danke.

  • LDAP durchsuchen

    • lionking
    • 13. September 2011 um 13:59

    Ja, der erste Aufruf dauert, aber ich sehe ehrlich gesagt auch keine Verbesserungsmöglichkeit und bin froh, daß es überhaupt läuft.
    Danke.

  • LDAP durchsuchen

    • lionking
    • 12. September 2011 um 13:14

    Der erste Aufruf dauert ca. 10 Sekunden vom starten der EXE bis zum Ergebnis.
    Bei weiteren Aufrufen bekomme ich das Ergebnis quasi sofort.

  • LDAP durchsuchen

    • lionking
    • 12. September 2011 um 12:01

    Ich habe noch etwas gesucht und ein Beispiel gefunden.
    http://www.autoitscript.com/forum/topic/24…post__p__171183

    Dabei wird der Suchbegriff direkt in den Server-Aufruf mit eingebunden. Schneller ist das aber trotzdem nicht. Der Code ist aber kürzer und evtl. wird der Server nicht so stark belastet. Das ist aber nur eine Vermutung.

    [autoit]

    Const $LDAPBaseDN = "ou=people,dc=domain,dc=com"
    Const $LDAPPort = "389"
    Const $LDAPServer = "server"
    Const $LDAPAddress = $LDAPServer & ":" & $LDAPPort & "/" & $LDAPBaseDN
    $LDAPSearch = ObjGet ("LDAP://" & $LDAPServer & ":" & $LDAPPort & "/uid=" & @UserName & "," & $LDAPBaseDN)
    If @error Then
    MsgBox (4096, "LDAP-Verbindung", "Fehler beim Verbindugnsaufbau zu " & $LDAPServer)
    Exit (-1)
    EndIf
    MsgBox (0,"",$LDAPSearch.cn)

    [/autoit]

    Ich denke also, daß das einfach nicht schneller geht.
    Danke für die tolle Unterstützung.

  • LDAP durchsuchen

    • lionking
    • 12. September 2011 um 09:35

    Ich bin ja nicht sicher, ob mein Script aus dem Anfangsposting überhaupt anders gestaltet werden kann. Die Funktion an sich hat es ja, aber die Frage war ja eigentlich, ob man die Informationen einfacher und schneller bekommt, als mit der if-Schleife einfach sämtliche Einträge abzuklappern.
    Dazu fehtl mir halt das nötige Wissen zu LDAP-Zugriffen unter Samba.
    Vielleicht hat ja jemand anderes noch eine Idee, der aus der Samba-Ecke kommt?

  • LDAP durchsuchen

    • lionking
    • 9. September 2011 um 13:39
    Zitat von lionking

    Win7 x64
    AutoIT 3.3.6.1


    Samba Version ist die 3.4.7

    Das habe ich zu VB gefunden, allerdings habe ich von VB keine Ahnung: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q328024

  • LDAP durchsuchen

    • lionking
    • 9. September 2011 um 12:24

    Hier der neue Screenshot. Die Domäne wird wohl nicht gefunden.
    Die nachfolgenden Meldungen scheinen die gleichen zu sein, wie ich oben schon geschrieben habe.

  • LDAP durchsuchen

    • lionking
    • 9. September 2011 um 12:12

    Kein Problem, ich bin ja in einem Forum und nicht bei der 1h-Sofort-Hotline.

    Ich habe mal die Screenshots angehängt, die nach dem ergänzen der Zeile erscheinen.

    Dateien

    Zwischenablage-1.jpg 62,66 kB – 0 Downloads Zwischenablage-2.jpg 57,47 kB – 0 Downloads Zwischenablage-4.jpg 61,52 kB – 0 Downloads
  • LDAP durchsuchen

    • lionking
    • 9. September 2011 um 11:41

    Bei dem Script werden auch mehrere Meldungen ausgegeben. Als Beispiel habe ich mal einen Screenshot der ersten Meldung angefügt.
    Das scheint in Zusammenarbeit mit Samba wohl nicht zu funktionieren.

    Dateien

    Zwischenablage-1.jpg 57,5 kB – 0 Downloads
  • LDAP durchsuchen

    • lionking
    • 9. September 2011 um 10:04

    Ich habe das Beispielscript _AD_GetGCAttributes.au3 ohne Veränderung gestartet.
    ; UDF Version ...: 1.0.0

  • LDAP durchsuchen

    • lionking
    • 7. September 2011 um 15:12

    Danke für den Tip. Ich habe mal versucht, das damit umzusetzen und das entsprechende Beispiel dazu gestartet.
    Leider wird mir eine Fehlermeldung angezeigt:

    Code
    C:\Program Files (x86)\AutoIt3\Include\AD.au3 (621) : ==> Error in expression.:
    Local $sAD_SchemaNamingContext = $oAD_RootDSE.Get("SchemaNamingContext")
    Local $sAD_SchemaNamingContext = ^ ERROR

    Win7 x64
    AutoIT 3.3.6.1

  • LDAP durchsuchen

    • lionking
    • 7. September 2011 um 11:44

    Wir haben hier eine Samba-Umgebung. Aus dem LDAP möchte ich jetzt bestimmte Informationen für einen Benutzer auslesen. Mit Hilfe von verschiedenen Scripts, die ich gefunden habe, konnte ich zumindest den Zugriff auf den Server erreichen.
    Bisher löse ich das Auffinden der Daten mit einer Schleife. Das dauert allerdings recht lange. Gibt es eine Möglichkeit, direkt auf die Daten eines bekannten Users zuzugreifen?

    Hier wird z. B. der vollständige Name eines Users abgefragt:

    [autoit]

    Const $LDAPBaseDN = "ou=people,dc=firma,dc=com"
    Const $LDAPPort = "389"
    Const $LDAPServer = "server"
    Const $LDAPAddress = $LDAPServer & ":" & $LDAPPort & "/" & $LDAPBaseDN

    [/autoit][autoit][/autoit][autoit]

    $ObjLDAP = ObjGet ("LDAP://" & $LDAPAddress)
    If @error Then
    MsgBox (4096, "LDAP Connection", $LDAPServer & " connection error")
    Exit
    EndIf
    For $ObjMembers In $ObjLDAP

    [/autoit][autoit][/autoit][autoit]

    if $ObjMembers.uid = "username" then
    MsgBox (0,"",$ObjMembers.cn)
    EndIf
    next

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™