Я использую OS X 10.6, и я хочу использовать яблочный скрипт, чтобы щелкнуть переключатель "Имя файла" в окне поиска, когда поиск открыт. (По умолчанию это "Содержание")

Я использовал UI Browser (ниже) и нашел путь, но Applescript выдает мне некоторые ошибки, поэтому я, должно быть, делаю что-то не так. Я разместил свой код и снимки экрана ниже:

Код:

tell application "System Events"
    activate application "Finder"
    click checkbox "File Name" of radio group 1 of group 1 of splitter group 1 of window 1 of application "Finder"
end tell

Крышка экрана:

Код от UIElementInspector

<AXApplication: “Finder”>
 <AXWindow: “Searching “UIElementInspector””>
  <AXSplitGroup>
   <AXGroup>
    <AXRadioGroup>
     <AXCheckBox: “File Name”>

Attributes:
   AXRole:  “AXCheckBox”
   AXRoleDescription:  “check box”
   AXHelp:  “(null)”
   AXValue:  “1”
   AXEnabled:  “1”
   AXFocused (W):  “0”
   AXParent:  “<AXRadioGroup>”
   AXWindow:  “<AXWindow: “Searching “UIElementInspector””>”
   AXTopLevelUIElement:  “<AXWindow: “Searching “UIElementInspector””>”
   AXPosition:  “x=1357 y=149”
   AXSize:  “w=75 h=17”
   AXTitle:  “File Name”

Actions:
   AXPress - press

3 ответа3

1

Еще несколько задержанных сценариев пользовательского интерфейса:

tell application "System Events" to tell process "Finder"
    set frontmost to true
    click menu bar 1's menu bar item "File"'s menu 1's menu item "Find"
    tell application "Finder"
        set toolbar visible of window 1 to false
        set bounds of window 1 to {0, 22, 960, 587}
    end tell
    tell window 1's splitter group 1
        click group 1's radio group 2's checkbox "File Name"
        click group 1's radio group 1's radio button "This Mac"
        click scroll area 1's outline 1's group 1's button 1 -- sort by Name
        click group 2's pop up button 1
        keystroke "sys" & return
        click group 2's pop up button 2
        keystroke "are " & return
    end tell
end tell

Почему-то на моем 10.6.7 checkbox "File Name" находится в radio group 2 вместо radio group 1 .

1

Скриптовые операции пользовательского интерфейса не могут быть напрямую переданы application ; они должны перейти к application process , в этом случае application process "Finder" отличается от application "Finder" . Дополнительная информация

Кстати, у Apple есть образец кода для этого исследования вместо использования пробной коммерческой программы, которая может в конечном итоге прекратить работу или перестать работать.

0

Apple снова изменила работу поиска, и теперь она очень сложна для поиска по имени файла, вам нужно нажать на автоматически скрывающийся выпадающий список, который исчезает при нажатии Enter. Единственный способ вернуть выпадающий список - это удалить письмо и набрать его заново.

Во всяком случае, следующий AppleScript работал для меня:

on run {input, parameters}
tell application "System Events" to tell process "Finder"
    set frontmost to true
        click menu bar 1's menu bar item "File"'s menu 1's menu item "Find"
        tell application "Finder"
    end tell
    tell window 1's splitter group 1
            click group 2's pop up button 1
            click menu item "Name" of menu 1 of pop up button 1 of group 2
            click group 2's pop up button 2
            click menu item "contains" of menu 1 of pop up button 2 of group 2
    end tell
    end tell
    return input
end run

Интересно, есть ли способ в appleScript, чтобы автоматически добавлять «name:» к поискам, чтобы нам не всегда приходилось использовать команду F для поиска по имени?

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