我被迫使用一个需要大量数据输入简单网络表单的软件,所以我设计了一个 AppleScript 以将文本文件作为输入,然后将内容键入 Safari,以便文本文件中的选项卡用于前进到 Web 表单中的下一个字段。我正在做一些字符串替换,因此我可以将文本文件中的换行符视为制表符,以提高文本文件的可读性。
我想通过从剪贴板击键来简化这一点,这可行,但字符串替换并没有按照应有的方式进行,我无法确定原因。在这一点上,我的解决方法是在复制之前用制表符手动查找/替换换行符,但这基本上与保存文件并将脚本指向它一样慢。
tell application "Safari"
activate
end tell
set sourceString to (the clipboard) as text
set ASTID to AppleScript's text item delimiters
set AppleScript's text item delimiters to "\n"
set the lineList to every text item of sourceString
set AppleScript's text item delimiters to "\t"
set keystrokeString to the lineList as string
set AppleScript's text item delimiters to ASTID
tell application "System Events"
keystroke keystrokeString as text
end tell
\t
\n
如果你把它放到 AppleScript Editor 中,它会编译成不可见的。当我使用以下文件从文件中读取时,字符串编辑(中间)部分的工作方式与宣传的一样:
set theFile to (choose file with prompt "Select a file to read:" of type {"txt"})
open for access theFile
set fileContents to (read theFile)
close access theFile
当我从剪贴板获取文本时,为什么字符串替换可能不起作用的任何想法?