难以在applescript工作流中引用cliclick(与脚本存储在同一位置)

难以在applescript工作流中引用cliclick(与脚本存储在同一位置),applescript,finder,alfred,Applescript,Finder,Alfred,我一直在为Alfred 2编写一个工作流,它在用户桌面上获取一个选定的jpeg,将其插入到google chrome中,然后使用鼠标右键单击并通过google搜索反向搜索图像 我似乎无法避免让用户将cliclick放在那里的主文件夹中。任何尝试在其他地方引用该文件的行为似乎都会在applescript中返回系统事件错误 任何帮助都将不胜感激!(我对applescript非常陌生,如果这是一个非常简单的问题,alfred表示歉意) 我试着用 set UnixPath to POSIX path o

我一直在为Alfred 2编写一个工作流,它在用户桌面上获取一个选定的jpeg,将其插入到google chrome中,然后使用鼠标右键单击并通过google搜索反向搜索图像

我似乎无法避免让用户将cliclick放在那里的主文件夹中。任何尝试在其他地方引用该文件的行为似乎都会在applescript中返回系统事件错误

任何帮助都将不胜感激!(我对applescript非常陌生,如果这是一个非常简单的问题,alfred表示歉意)

我试着用

set UnixPath to POSIX path of ((path to me as text) & "::" & "cliclick")
代替

set uHome to get path to home folder
set locHome to POSIXpath of uHome
但将其替换为shell脚本

do shell script "" & UnixHome & " m:" & x & "," & y & "w:100 kd:ctrl c:+2,+74 ku:ctrl w:1000 c:+66,+90 w:700"
使用系统事件错误停止工作流


您可以将cliclick放在应用程序的资源文件夹中,并按如下方式调用它:

set pathtocc to quoted form of (POSIX path of (path to resource "cliclick"))
do shell script pathtocc & " -h"
或者让curl来做这项工作:

set imagefile to POSIX path of ¬
    (choose file of type "public.image" default location path to desktop)

do shell script "
open -a 'Google Chrome' $(curl -F 'encoded_image=@" & imagefile & ¬
    "' https://www.google.com/searchbyimage/upload | grep 'tbs=sbi' | sed 's/^.*http/http/;s/\".*$//')"

curl-F将文件上传到反向搜索。输出是一个重定向,其中包括指向google结果页的URL。

使用代码尝试调用资源文件夹中的cliclick时仍然会出错,但是curl脚本的工作效率提高了1000倍,完全让我震惊xD谢谢!对curl知之甚少-发送脚本后出现延迟是否有特殊原因?它的平均速度约为13秒,这让人感觉很奇怪:3是因为我通过applescript调用了curl吗?上传图像需要时间。
set imagefile to POSIX path of ¬
    (choose file of type "public.image" default location path to desktop)

do shell script "
open -a 'Google Chrome' $(curl -F 'encoded_image=@" & imagefile & ¬
    "' https://www.google.com/searchbyimage/upload | grep 'tbs=sbi' | sed 's/^.*http/http/;s/\".*$//')"