如何使用AppleScript将任意应用选中文本传入Safari进行Google搜索
如何使用AppleScript将任意应用程序中选中的文本导入Safari,调用Google进行搜索?
你提供的示例代码存在三处问题:
- 直接通过
get selection读取选中内容的兼容性较差,很多第三方应用不支持该接口返回选中的文本内容 - 选中的文本如果包含空格、中文或特殊符号,直接拼接进搜索URL会导致请求异常
- 代码结构不匹配,第一行的System Events调用是单行语句,末尾多余了一个
end tell会导致运行报错
以下是优化后可直接运行的稳定版本代码:
-- 模拟复制选中文本,兼容性更高 tell application "System Events" keystroke "c" using {command down} delay 0.1 -- 给剪贴板留读取缓冲时间 end tell -- 读取并判断剪贴板内容 set searchText to the clipboard as string if searchText is equal to "" then return -- 空内容直接退出 -- URL编码处理,适配特殊字符/中文 set encodedText to do shell script "perl -MURI::Escape -e 'print uri_escape(<>);' <<< " & quoted form of searchText -- 调用Safari打开谷歌搜索 tell application "Safari" open location "https://www.google.com/search?q=" & encodedText activate end tell
你可以把这段脚本通过「自动操作(Automator)」创建为「快速操作」,之后给它绑定自定义系统快捷键,就能在任意应用里选中文本后按快捷键,直接调用Safari打开谷歌搜索结果。
内容的提问来源于stack exchange,提问作者Lucas
相关产品推荐
相关产品推荐

