Applescript:等待页面加载 chrome

Applescript : wait that the page is load on chrome

tell application "Safari"
        repeat until (do JavaScript "document.readyState" in tab 2 of window 1) is "complete"
        end repeat
    end tell
end if

我怎样才能让这个与 Chrome 一起工作?

你应该可以做到

tell application "Google Chrome"
repeat until (execute tab 1 of window 1 javascript "document.readyState" is "complete")
end repeat
    execute tab 1 of window 1 javascript "document.readyState"
end tell

但您的页面可能 return "interactive" 永远或很长一段时间。

仅使用 AppleScript 应该是:

tell application "Google Chrome"
    repeat until (loading of tab 1 of window 1 is false)
        1 + 1 --just an arbitary line
    end repeat
    loading of tab 1 of window 1 --this just returns final status
end tell

但是,说实话,我觉得很可疑。我有一个非常裸露的页面 html 正文 (http://www.crgreen.com/boethos/boethos.html),它适用于该页面,但对于大多数页面(我已经尝试过 yahoo、macupdate、bbc 新闻、jedit.org等)我从来没有得到 "loading = true"。可能有bug。

对于 Chromium 浏览器(Google Chrome、Brave Browser、Microsoft Edge、Opera、Vivaldi 等),您不需要 JavaScript 解决方法,因为它们对检查标签页是否仍在加载。

在 AppleScript 中:

tell application "Google Chrome" to return loading of tab 2 of window 1

在 JavaScript 中用于自动化 (JXA):

Application('Google Chrome').windows[1].tabs[2].loading()