AppleScript中的Javascript'缺失值'(用于在Safari中单击按钮)

时间:2018-01-03 09:34:59

标签: javascript html safari applescript

我有以下带有Javascript的AppleScript:

set buttontext to "Add Option"
set buttonloc to 1

tell application "Safari"
    activate
    tell window 1
        do JavaScript "var buttonTags = document.getElementsByTagName(\"button\"); 
        var searchText = \"" & buttontext & "\"; 
        var found; 
        for (var i = 0; i < buttonTags.length; i++) 
        {if (buttonTags[i].textContent == searchText) {
        found = buttonTags[i]; break;
        }
        }
        buttonTags[" & buttonloc & "].click();"
    end tell
end tell

它编译得很好,但在执行时没有动作,我收到“缺失值”错误。它旨在遍历Safari中的网页,并允许用户指定按钮文本和排名以便能够单击它。

当在Safari的开发控制台中直接执行此Javascript时,它可以正常工作,但我需要在AppleScript中将它包装成更长的例程。

建议赞赏!

1 个答案:

答案 0 :(得分:1)

我已经设法通过修改JS的结尾来解决这个问题:

buttonTags[" & buttonloc & "].click();" in current tab