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.
Beiträge von lionking
-
-
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:
Wie muss ich vorgehen, dass der Versuch, die Seite zu laden früher abgebrochen wird?
Danke.
-
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. -
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)
[/autoit]
Opt("SendKeyDelay", 50)
WinWaitActive("Adobe Reader")
Send("^y")
Send("400{ENTER}")
ControlClick("", "", "[CLASS:ScrollBar; INSTANCE:1]","right")
sleep(300)
Send("{Down 3}")
Send("{Enter}")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. -
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? -
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
[/autoit][autoit][/autoit][autoit]
$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$oIE = _IECreate()
[/autoit]
_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 setzenHier noch die nötige ini-Datei:
-
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.
[autoit]
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.$oFocus = _IEFormElementGetObjByName($oFormular,"password")
[/autoit][autoit][/autoit][autoit]_IEAction ($oFocus, "focus")
[/autoit]
Danke für die Unterstützung. -
Ich bekomme leider immer noch die gleichen Fehlermeldungen, nur halt jetzt von der anderen Funktion.
Das Formular wird nicht gefunden
-
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>
[/autoit][autoit][/autoit][autoit]
$oIE = _IECreate()
_IENavigate($oIE,"https://ssl-eu1.t-systems.com/dana-na/auth/url_default/welcome.cgi") ; VPN-Login aufrufen$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
Alles anzeigenform 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"> </td> </tr> <tr> <td valign="top"> <table border="0" cellspacing="0" cellpadding="2"><tr> <td>Username</td> <td> </td> <td><input type="text" name="username" size="20"></td> </tr>
Wo liegt mein Denkfeher?
Danke.
-
Ja, der erste Aufruf dauert, aber ich sehe ehrlich gesagt auch keine Verbesserungsmöglichkeit und bin froh, daß es überhaupt läuft.
Danke. -
Der erste Aufruf dauert ca. 10 Sekunden vom starten der EXE bis zum Ergebnis.
Bei weiteren Aufrufen bekomme ich das Ergebnis quasi sofort. -
Ich habe noch etwas gesucht und ein Beispiel gefunden.
http://www.autoitscript.com/forum/topic/24…post__p__171183Dabei 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"
[/autoit]
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)Ich denke also, daß das einfach nicht schneller geht.
Danke für die tolle Unterstützung. -
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? -
Win7 x64
AutoIT 3.3.6.1
Samba Version ist die 3.4.7Das habe ich zu VB gefunden, allerdings habe ich von VB keine Ahnung: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q328024
-
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. -
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.
-
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. -
Ich habe das Beispielscript _AD_GetGCAttributes.au3 ohne Veränderung gestartet.
; UDF Version ...: 1.0.0 -
Danke für den Tip. Ich habe mal versucht, das damit umzusetzen und das entsprechende Beispiel dazu gestartet.
Leider wird mir eine Fehlermeldung angezeigt:CodeC:\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 -
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"
[/autoit][autoit][/autoit][autoit]
Const $LDAPPort = "389"
Const $LDAPServer = "server"
Const $LDAPAddress = $LDAPServer & ":" & $LDAPPort & "/" & $LDAPBaseDN$ObjLDAP = ObjGet ("LDAP://" & $LDAPAddress)
[/autoit][autoit][/autoit][autoit]
If @error Then
MsgBox (4096, "LDAP Connection", $LDAPServer & " connection error")
Exit
EndIf
For $ObjMembers In $ObjLDAPif $ObjMembers.uid = "username" then
[/autoit]
MsgBox (0,"",$ObjMembers.cn)
EndIf
next