如何等待网页完全加载

如何等待网页完全加载

在继续执行脚本之前,如何等待网页完全加载?

我知道如果希望延迟4秒,可以使用延迟4,但这还不够安全。

在VBA中,您有一个始终有效的简单代码,它像这样:

Dim x As String
x = "https://na6.salesforce.com/p/attach/NoteAttach?pid=" & Range("T34").Value & "&parentname=" & Range("T35").Value & "&retURL=%2F0018000000sKz8K%3Fpb0%3Dtrue"

   Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate (x)
    IE.Visible = True
    SetParent IE.Hwnd, Application.Hwnd

Do
DoEvents
Loop Until IE.READYSTATE = 4

在Mac上使用Safari浏览器进行applescript的工作相当于什么?

我在网上看到了许多版本,但只有与延迟类似的解决方法,或者是要返回指定值或对页面上的单词进行计数等等。

我只想要上面的版本是100%完美的。

先感谢您:)

最佳答案

您可以通过从Safari或Chrome调用“document.readyState”来访问页面的就绪状态。

tell application "Safari"
    if not (exists document 1) then reopen
    tell current tab of window 1 to set URL to "https://stackoverflow.com/questions/24500011/how-to-wait-for-webpage-to-fully-load-before-proceeding-script"

    set the_state to missing value
    repeat until the_state is "complete"
        set the_state to (do JavaScript "document.readyState" in document 1)
        log "busy"
        delay 0.2
    end repeat
    log "complete"
end tell

关于applescript - 在继续执行脚本之前,如何等待网页完全加载?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24500011/

10-08 22:58