1

我想在 AppleScript 中实现一些 JavaScript 函数。问题是每次我使用“做 JavaScript”时,我都会收到一条错误消息,上面写着“预期的行尾,但找到了标识符!”。以下简单脚本有什么问题?

tell application "Safari" to open location "www.apple.com"
do javascript "alert('Hello World');"
end tell

这是一个非常简单的例子,我很确定这do javascript会造成问题。实际上我想制作一个点击网站上的按钮的 AppleScript。之后,它会删除缓存并再次单击该按钮。我需要 JavaScript 来模拟按钮点击。错误警告让我抓狂……</p>

我在 Mac OS X 10.6.8 和 10.5.8 上测试了这个问题……如果你没有解决这个问题的方法,我还有另一个问题:你推荐哪种其他编程/脚本语言 (Mac) 来解决我的任务?

4

1 回答 1

0

当您告诉 Safari 在哪个选项卡中运行脚本时,这似乎可以满足您的要求;

tell application "Safari"
    open location "www.apple.com"
    do JavaScript "alert('Hello World');" in current tab of first window
end tell

编辑:您在 Javascript 有点“关闭”的评论中添加了一个新问题,这是一个工作版本;

tell application "Safari"
    open location "www.apple.com"
end tell

delay 0.5
set safe to false
repeat until safe
    delay 0.2
    tell application "Safari"
        do JavaScript "document.readyState" in document 1
        if result is "Complete" then exit repeat
    end tell
    tell application "Safari" to set PageText to the text of document 1
    if length of PageText is greater than 10000 then set safe to true
end repeat

tell application "Safari"
    do JavaScript "document.getElementById('gn-iphone').children[0].click();" in current tab of first window
end tell
于 2013-09-12T09:00:48.980 回答