3

具体的には、iOS で Web をデバッグしているときに、Safari メニュー バーの次のメニュー項目をクリックして、Safari Web インスペクターを起動できます。

  • 開発 -> iPad シミュレーター -> Safari -> Web ページのタイトル
  • 開発 -> iPad 名 (私の名前は Summer) -> Safari -> 私の Web ページのタイトル

Safari のメニューを反復処理し、Web ページのタイトルで使用する共通の部分文字列を含む [開発] メニューの項目をアクティブにしたいと考えています。

4

2 に答える 2

5

これが例です。Safari の [開発] メニューの下にある [Web インスペクターを表示] メニュー項目をクリックするとします。まず、[開発] メニューのすべての UIElement を取得してから、それらを反復処理して、適切な名前の UIElement を探します。見つかったら、クリックできます。

これの秘訣は、一部の UIElement (この場合は [開発] メニュー) の「コンテンツ全体」を取得することにあることに注意してください。これにより、メニュー内のすべての UIElement のリストが得られるので、それらを繰り返し処理して必要なものを見つけることができます。

また、if ステートメントの周りに try ブロックがあることにも注意してください。これは、一部の UIElements には名前がなく、エラーが発生するためです。これらのエラーは無視されます。

tell application "Safari" to activate

tell application "System Events"
    tell process "Safari"
        set developMenu to menu bar item "Develop" of menu bar 1
        set allUIElements to entire contents of developMenu
        repeat with anElement in allUIElements
            try
                if name of anElement is "Show Web Inspector" then
                    click anElement
                    exit repeat
                end if
            end try
        end repeat
    end tell
end tell
于 2013-08-06T14:51:11.320 に答える
2
tell application "System Events" to tell process "Finder"
    set frontmost to true
    tell menu 1 of menu item "Arrange by" of menu 1 of menu bar item "View" of menu bar 1
        click (menu items where its name contains "a")
    end tell
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    repeat with m in (get menu 1 of menu items of menu 1 of menu bar item "View" of menu bar 1)
        set m to contents of m
        if m is not missing value then
            click (menu items of m where name contains "a")
        end if
    end repeat
end tell
于 2013-08-06T14:51:02.120 に答える