AppleScript:使用混合字符编码搜索应用程序名称

时间:2013-08-19 09:02:21

标签: encoding character-encoding applescript

我正在编写一个简单的脚本来从iTunes商店搜索应用程序。该应用程序执行以下操作:

- 从用户输入(对话框中的文本字段)中读取应用程序

- 在变量中获取应用名称,然后在iTunes(右上角)的搜索文本字段中按键移动应用名称。

- 按enter键(按键返回)。

我正在努力解决的问题是:

当用户输入日文文本作为应用程序名称时,我需要检测它是日文文本,并且需要在按键到搜索字段之前将键盘输入类型更改为JP。

有时,应用名称包含EN和JP字符集。

有人可以帮我解决如何用AppleScript检测每个角色的字符编码吗?

谢谢和最诚挚的问候

拉​​赫曼

1 个答案:

答案 0 :(得分:1)

您可以使用itunes网址:

itunes://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa/search?term=漢字
text returned of (display dialog "" default answer "")
do shell script "u=itunes://ax.search.itunes.apple.com/WebObjects/MZSearch.woa/wa
q=$(printf %s " & quoted form of result & " | xxd -p | tr -d '\\n' | sed 's/../%&/g')
open $u/search?term=$q"

您也可以使用剪贴板插入文字:

try
    set old to the clipboard as record
end try
set the clipboard to "漢字"
tell application "System Events"
    keystroke "v" using command down
end tell
delay 0.1
try
    set the clipboard to old
end try

如果剪贴板为空,尝试获取它会导致错误。 the clipboardthe clipboard as text类似,但the clipboard as record也包含其他类型。模拟击键通常比单击菜单栏项更快,单击菜单栏项在全屏窗口中或应用程序没有菜单栏时不起作用。没有延迟,有时会在粘贴文本之前运行set the clipboard to old

或者在这种情况下,您可以使用UI脚本:

tell application "iTunes"
    reopen
    activate
end tell
tell application "System Events" to tell process "iTunes"
    tell text field 1 of (get value of attribute "AXMainWindow")
        set value to "漢字"
        set selected to true
    end tell
    keystroke return
end tell