我正在尝试创建一个 Applescript 应用程序来连接到我大学的 VPN 网络。该过程通常是通过连接到特定的 WiFi 网络,然后连接到 VPN 本身(通过 OSX 上的内置 VPN 管理),然后打开登录网页并登录,然后关闭该网页来完成的。
我的代码如下:
set vpn_name to "'VPN NAME'"
set pageLoaded to false
tell application "System Events"
set rc to do shell script "scutil --nc status " & vpn_name
if rc starts with "Connected" then
do shell script "scutil --nc stop " & vpn_name
else
do shell script "scutil --nc start " & vpn_name
tell application "Google Chrome"
open location "HTTPS://LOGIN.COM"
repeat
if (execute javascript "document.readyState") is "completed" then set pageLoaded to true
end repeat
display dialog pageLoaded
end tell
end if
end tell
我已授予 VPN 钥匙串访问权限,以便每次都自动连接,而无需输入用户名和密码,并且脚本的 VPN 连接部分工作正常(每次运行时都会连接和断开连接)。但是,我无法加载登录网页,也无法让 document.readyState 等待网页加载后再按 Enter 键使用已保存的登录详细信息。
任何帮助或指导都将不胜感激。
答案1
也许尝试
set pageLoaded to false
repeat until (pageLoaded = true)
if (execute javascript "document.readyState") is "completed"
set pageLoaded to true
exit repeat
end if
else delay 1
end repeat
我无法测试并且我不懂 javascript,所以这只是猜测