为什么';t';执行javascript';在浏览器中键入的相同代码执行时调用Applescript?
我试图弄明白,当输入Safari位置栏的相同javascript代码起作用时,为什么我的Applescript什么都不做 转到搜索结果页,例如:。要获得正确的行为,请在位置栏中键入,然后按enter键:为什么';t';执行javascript';在浏览器中键入的相同代码执行时调用Applescript?,javascript,macos,dom,applescript,Javascript,Macos,Dom,Applescript,我试图弄明白,当输入Safari位置栏的相同javascript代码起作用时,为什么我的Applescript什么都不做 转到搜索结果页,例如:。要获得正确的行为,请在位置栏中键入,然后按enter键: javascript: document.getElementsByClassName('vspib')[0].click(); 您将看到,它为第一个搜索结果选择了放大镜 这就是我想通过javascript实现的。因此,我输入了以下内容: tell application "Safari"
javascript: document.getElementsByClassName('vspib')[0].click();
您将看到,它为第一个搜索结果选择了放大镜
这就是我想通过javascript实现的。因此,我输入了以下内容:
tell application "Safari"
activate
do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1
end tell
然而,它什么也不做。有什么想法吗?问题是
dojavascript
必须正确处理Safari窗口中的选项卡
如果搜索结果页面是最前面的Safari窗口中的当前选项卡,则以下脚本适用于我:
tell application "Safari"
activate
set theScript to "document.getElementsByClassName('vspib')[0].click();"
do JavaScript theScript in current tab of first window
end tell
非常感谢。由于某些原因,您的代码不是每次都能为我工作,但这次修改最终起到了作用:执行前窗口的活动选项卡javascript“document.getElementsByClassName('vspib')[0]。单击()