Applescript等待Safari页面元素加载后再继续

时间:2020-04-11 23:55:48

标签: safari applescript element loading wait

我试图让我的Applescript在点击网页上的特定元素之前等待;但它不起作用。点击实际上可以工作,但是不会等到ElementByName加载完毕。

完整代码:

to clickName(theName, elementnum)

    tell application "Safari"
        tell front document to repeat until (do JavaScript ¬
            "document.contains(document.getElementByName('" & theName & "'))")
            delay 1
        end repeat -- Finished loading

        do JavaScript "document.getElementsByName('" & theName & "')[" & elementnum & "].click();" in document 1

    end tell

end clickName
clickName("xxx", 0)

这部分没有满足我的要求

        tell front document to repeat until (do JavaScript ¬
            "document.contains(document.getElementByName('" & theName & "'))")
            delay 1
        end repeat -- Finished loading

它将继续其余的代码,而不检查元素'xxx'是否已经加载,因此可能会丢失click事件。

请咨询。

0 个答案:

没有答案