Applescript VPN + document.readyState 问题

Applescript VPN + document.readyState 问题

我正在尝试创建一个 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,所以这只是猜测

相关内容