Я получаю ошибку в AppleScript

В первом сценарии я создал поисковую систему, и сценарий выглядит следующим образом

on dialogBox(theMessage)
display dialog theMessage default answer "" buttons {"Cancel", "Search"} default button 2 with title "Pick a search engine"
end dialogBox


set search to text returned of dialogBox("Enter Google Search")
tell application "Safari"
activate
open location "https://www.google.com/?    gfe_rd=cr&ei=4fJgVJ6SM8yD8QfJjYGICA&gws_rd=ssl,cr&fg=1#q=" & search
end tell

и я экспортировал этот скрипт как приложение под названием Google

Во втором скрипте код выглядит следующим образом:

tell application "System Events"
tell process "google"
    click button "Search" of window "Pick a Search engine"
end tell
end tell

Однако, когда я пытаюсь запустить код, я получаю следующую ошибку:

Системные события получили ошибку: не удалось получить процесс "Google".

1 ответ1

0

На самом деле запущенный скрипт не будет иметь имя процесса "google", даже если это то, что вы назвали скриптом; это будет называться «апплет»

Чтобы ОС распознала его как отдельный процесс, вам нужно отредактировать структуру ресурсов апплета ...

С http://macscripter.net/viewtopic.php?id=25707

Если вы изменяете имя исполняемого файла .plist своего приложения, вы должны изменить имя исполняемого файла, а также имя файла applet.rsrc.

CFBundleExecutable - скребок
имя исполняемого файла - скребок
applet.rsrc - scraper.rsrc

Если вы измените тип создателя .plist вашего приложения, вы должны изменить содержимое файла PkgInfo, чтобы оно соответствовало.

CFBundleSignature - scrp
PkgInfo - APPLscrp

Вам также может понадобиться заархивировать оригинальное приложение, выбросить оригинал, а затем открыть архивированное приложение, чтобы получить изменения для «stick».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .