我有以下包含 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 中以将其包装成更长的例程。
感谢您的建议!
最佳答案
我已经成功地解决了这个问题,将 JS 的末尾修改为:
buttonTags[" & buttonloc & "].click();" in current tab
关于AppleScript 'missing value' 中的 Javascript(用于在 Safari 中单击按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074685/