AppleScript में उपयोग के लिए मैक ओएस एक्स विंडो, ग्रुप और टेक्स्ट फील्ड नामों की पहचान करें


8

मेरे पास एक Applescript है जिसमें मैं पाठ फ़ील्ड के मान Nameऔर Passwordप्रक्रिया से संबंधित विंडो को सेट करना चाहता हूं SecurityAgent

यह निम्नलिखित के समान है:

tell window "Authenticate" of process "SecurityAgent"
    tell group 1
        set value of text field 1 to "king"
        set value of text field 2 to "king1"
    end tell
    click button "OK" of group 2
end tell 

जबकि मेरी स्क्रिप्ट भी प्रक्रिया का उल्लेख कर रही है SecurityAgent, विचाराधीन विंडो वह है जो ओएस एक्स को बंद करने पर पॉप अप करती है, और एक अन्य उपयोगकर्ता लॉग इन होता है। SecurityAgentविंडो पॉप अप करने के लिए व्यवस्थापक उपयोगकर्ता नाम और पासवर्ड के लिए पूछती है। शट डाउन प्रक्रिया। मुझे नहीं पता कि उक्त विंडो में टेक्स्ट फ़ील्ड को कैसे देखें।

मेरा सवाल यह है कि मुझे इन टेक्स्ट फ़ील्ड्स, जिस समूह से वे संबंधित हैं, और जिस खिड़की से वे संबंधित हैं, उसका नाम कैसे पता चलेगा? क्या ओएस एक्स खिड़कियों को मैप करने की एक विधि है ताकि मैं उन्हें AppleScript में संदर्भित कर सकूं? मैं कहीं भी इस बारे में जानकारी नहीं ढूँढ सकता।

जवाबों:


9

मैंने एक बार इमेज कैप्चर एप्लिकेशन में एक बटन पर क्लिक करने की कोशिश की और मुझे इस विशेष बटन को खोजने में थोड़ा समय लगा। जैसा कि मेरे प्रश्न / उत्तर में बताया गया है, एक तरीका है, UIElementInspector का उपयोग करना । आप इसे ऐप्पल से मुफ्त में डाउनलोड कर सकते हैं (डाउनलोड लिंक एक बटन में सबसे ऊपर है, यहाँ सीधा लिंक है )।

यह आपको प्रत्येक विंडो के UI तत्वों में झांकने की अनुमति देता है, जो आप मँडरा रहे हैं। दबाने Cmd- F7अपनी सामग्री को उस तत्व पर लॉक कर देता है जिसे आप मँडरा रहे हैं।

यहाँ छवि विवरण दर्ज करें

"मज़ेदार" भाग वास्तव में यह पता लगा रहा है कि खिड़की कैसे समूहीकृत है, और कौन से तत्व किस माता-पिता के हैं। $ 55 एप्लिकेशन UI ब्राउज़र इस पर एक बेहतर काम करने का दावा करता है।

जब आप मैन्युअल रूप से AppleScript डिबगिंग कर रहे हैं, और आप एक विंडो के दायरे में हैं, तो आप निम्न के लिए अलग-अलग तत्वों के लिए अपने तरीके का अनुमान लगाने की कोशिश कर सकते हैं:

UI elements of window 1
UI elements of splitter group 1 of window 1
UI elements of group 1 of splitter group 1 of window 1

ये आपको एक सूची देंगे जिसका उपयोग आप तत्वों और उनके संबंधित शीर्षकों के लिए अपनी खोज को छोटा करने के लिए कर सकते हैं।


1
+100 मुझे UIElementInspector के बारे में बताने के लिए
Nifle

@ श्लोक - वाह! क्या शानदार जवाब है। यह बहुत सराहा गया है, और मुझे इस पर तुरंत काम करना होगा। हालाँकि, मैं सामान्य रूप से AppleScript के लिए नया हूँ; मैं UI elementsकमांड कैसे बनाऊंगा?
स्टेफमिकेल

1
उदाहरण के लिए @Stef खैर UI Elements of window "Authenticate" of process ...। बस AppleScript संपादक में ऐसा करें और नीचे दिए गए परिणामों को देखें। हालांकि दुर्भाग्य से मुझे ऐसा करने का अधिक कुशल तरीका नहीं मिला।
slhck

@ श्लोक - नहीं, जो सही नहीं लगता। और समाप्त होता है यूआई ब्राउज़र एक महीने की पूर्ण सुविधा परीक्षण प्रदान करता है, इसलिए मैं इसे एक साथ ही दे पाऊंगा। फिर से, एक गुच्छा धन्यवाद।
स्टेफमिकेल

@stefmikhail ज़रूर, कोई बात नहीं! मुझे बताएं कि UI ब्राउज़र आपके लिए कैसे काम करता है, इसे आज़माने के लिए अभी समय नहीं आया है!
13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.