2017-10-26 1 views
-2

Ich benutze AppleScript, um Login-Informationen einzugeben und nachdem das Skript die Informationen in das Passwortfeld eingegeben hat und eine "Tastendruck-Rückgabe" ausgeführt wird, sagt das Formular, dass mein Passwort falsch ist, obwohl ich mir sicher bin Ich übergebe das korrekte Passwort in meinem Skript.Eingabe von Login-Informationen mit AppleScript

Weiß jemand, warum das passiert?

tell application "Safari" 
    activate 
    open location "https://thewebsite.com" 
end tell 

delay 10 
clickClassName("login", 0) 
delay 2 

tell application "Safari" 
    tell application "System Events" to tell process "Safari" 
     keystroke tab 
     keystroke "MyPassword" 
     keystroke return 
    end tell 
end tell 
+0

könnten wir einige Informationen über brauchen, was Sie tun, bevor wir Ihnen helfen können. Bis jetzt haben Sie nichts nützliches gesagt –

+0

geben Sie einen Ausschnitt Ihres Codes, und entfernen Sie wahrscheinlich das Javascript-Tag, da ich nicht sehe, wie diese Frage mit Javascript zusammenhängt. Leute werden wahrscheinlich beginnen, Ihre Frage zu verwerfen, bis Sie weitere Informationen geben. –

+0

Wenn Sie Hilfe zum Debuggen von Code benötigen, sollte Ihre Frage mit [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (https://stackoverflow.com/help/mcve) übereinstimmen. – user3439894

Antwort

0
tell application "Safari" 
    activate 
    open location "https://thewebsite.com" 
end tell 

delay 10 
clickClassName("login", 0) 
delay 2 

tell application "Safari" 
    tell application "System Events" to tell process "Safari" 
     keystroke tab 
delay 0.2 
     keystroke "MyPassword" 
0.5 -- you need the delay because it does not type instantly and the password is probably cut short. 
     keystroke return 
    end tell 
end tell 
+0

Sie sagten: "Sie brauchen die Verzögerung, weil sie nicht sofort eingibt und das Passwort wahrscheinlich kurz ist". System Events verarbeitet Tastenanschlagsbefehle asynchron. Es ist also nicht unbedingt erforderlich, eine Verzögerung zu setzen, da die Eingabe des Kennworts vor der Eingabe von return beendet wird. Sie können dies im Skript-Editor mit einer sehr langen Zeichenfolge testen, gefolgt von return. Die gesamte Zeichenfolge wird vor der Rückgabe eingegeben. – user3439894

Verwandte Themen