0

私は次のコードを持っています。それが実行され、結果が得られます。出口の繰り返しに何か問題があると思います。ipad名を取得した後も、スクリプトはタイムアウトするまで実行され続けます。誰かがコードの何が問題になっているのか教えてもらえますか?ありがとう!


set deviceName to "iPad"
tell application "System Events"
tell process "iTunes"
    activate
    repeat with i from 1 to the count of (row of outline 1 of scroll area 2 of window "iTunes")
        repeat with j from 1 to the count of static text of row i of outline 1 of scroll area 2 of window "iTunes"
            set xxxx to the value of item j of static text of row i of outline 1 of scroll area 2 of window "iTunes"
            if (xxxx contains deviceName) then
                print xxxx
                click row i of outline 1 of scroll area 2 of window "iTunes"
                exit repeat
            end if
            --exit repeat
        end repeat

    end repeat

end tell
end tell
4

2 に答える 2

0

最初の iPad が見つかった後にスクリプトを終了する場合は、exit repeat を return に置き換えます。

于 2012-11-14T19:24:45.200 に答える
0

問題(あなたが求めている)は、繰り返しに繰り返しがあることです。つまり、サブループにいてリピートを終了すると、メインループにジャンプします。ここから出るには、出口をもう一度繰り返す必要があります。

あなたのコードを見ると、ネストされた繰り返しループがわかりません。囲まれた/メインの繰り返しを削除すると、期待どおりに機能します。

set deviceName to "iPad"
tell application "System Events"
    tell process "iTunes"
        activate
        repeat with UIElement in rows of outline 1 of scroll area 2 of window "iTunes"
            if (value of static text of UIElement as text) begins with deviceName then return select UIElement
        end repeat
    end tell
end tell

を使用する理由は、contains が以前の財布のメニュー項目をクリックするためです。

于 2012-11-14T20:08:22.210 に答える