为什么不;t'执行javascript'当在浏览器中键入相同的代码时,Applescript中的调用会执
why doesn't 'do javascript' call in Applescript execute when the same code typed into browser does?
我正试图弄清楚,当在Safari位置栏中键入相同的javascript代码时,为什么我的Applescript什么都不做。
转到搜索结果页面,例如:http://www.google.com/search?q=test。要获得正确的行为,请在位置栏中键入此信息,然后点击回车键:
javascript: document.getElementsByClassName('vspib')[0].click();
您会看到它为第一个搜索结果选择了放大镜。
这就是我想要通过javascript实现的。所以我输入了以下内容:
tell application "Safari"
activate
do JavaScript "document.getElementsByClassName('vspib')[0].click();" in document 1
end tell
然而,它什么也没做。有什么想法吗?
问题是do JavaScript
必须正确处理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或jQuery代码调用mousemove
- 反汇编的javascript jit代码调用未知函数
- 从node.js代码调用javascript代码
- 如何使用javascript代码调用服务器端函数;标记函数“>
- 从本机 java 代码调用 JS 事件
- 如何从本机 Java 代码调用 JS
- 如何将 JavaScript 文件(.js 文件)添加到 C# 项目并从 C# 代码调用 JavaScript 方法
- Javascript 生成的 HTML 代码调用 KNOCKOUT
- 检测用户触发的 jquery 事件或代码调用
- 使用 jquery 从动态添加的 html 代码调用函数
- Metro Style App:如何从 Web 视图控件中运行的 JavaScript 代码调用 C# 方法
- 如何从 JavaScript 代码调用 StorageProcedure
- 从 C# Web 应用程序背后的代码调用 JavaScript 函数
- 如何通过 JavaScript 代码调用 C# Web 服务
- 从遗留代码调用 AngularJS
- Javascript 函数不是从按钮单击背后的代码调用的
- AJAX:如何从 AJAX 方法背后的 C# 代码调用 javascript 函数
- 如何防止恶意代码调用我的 JavaScript
- 从VB.NET背后的代码调用单击事件或JQuery函数
- 从服务器端代码调用弹出窗口