我试图在safari中使用appescription在网页上点击一个简单的按钮。我有以下代码:
tell application "Safari"
activate
repeat 5 times
do JavaScript "document.all(\"Roll Again\").click()" in document 1
delay 2
end repeat
end tell
但是,当我运行此代码时,出现错误:“缺少值”。事件日志显示以下结果:
tell application "Safari"
activate
do JavaScript "document.all(\"Roll Again\").click()" in document 1
--> missing value
do JavaScript "document.all(\"Roll Again\").click()" in document 1
--> missing value
do JavaScript "document.all(\"Roll Again\").click()" in document 1
--> missing value
do JavaScript "document.all(\"Roll Again\").click()" in document 1
--> missing value
do JavaScript "document.all(\"Roll Again\").click()" in document 1
--> missing value
end tell
有人能告诉我为什么按钮没有被按下,缺失值是什么意思吗?有没有其他更简单的方法来实现按钮按下?我可以使用自动机按下按钮,但是我想使用AppleScript来完成。
P.S .文稿是safari中的当前窗口
document.all 特定于 IE,在 Safari 中不起作用。尝试使用 getElementById 或 querySelectorAll:
tell application "Safari"
activate
tell document 1
do JavaScript "document.getElementById(\"nav-badges\").click()"
delay 5
do JavaScript "document.querySelectorAll(\"#hmenus a\")[0].click()"
end tell
end tell