एक्सेसिबिलिटी इंस्पेक्टर (या किसी अन्य टूल) का उपयोग करके यूआई तत्वों का नाम कैसे पता करें


21

मैं Applescript के माध्यम से एक प्रिंट संवाद के साथ बातचीत करने की कोशिश कर रहा हूं।

मैं जो अनुकरण करना चाहता हूं वह एक विशिष्ट ड्रॉपडाउन पर एक मूल्य सेट करने वाला उपयोगकर्ता है।

कहो मेरे पास:

tell application "System Events"
  tell process "Preview"
    set value of pop up button XXX to YYY
  end tell
end tell

मुझे XXX नाम कैसे पता होना चाहिए? उदाहरण के लिए, मैं "प्रिंटर" और "प्रीसेट" ड्रॉपडाउन के बीच कैसे अंतर करूंगा?

मैंने एक्सेसिबिलिटी इंस्पेक्टर को खोला है, लेकिन वहां प्रदर्शित जानकारी से, मैं निर्दिष्ट ड्रॉपडाउन के लिए नाम या कुछ अन्य विशिष्ट पहचानकर्ता का संदर्भ नहीं दे सकता।

मैंने कई लोगों को विभिन्न ड्रॉपडाउन का उल्लेख करने के लिए संख्याओं का उपयोग करते देखा है, लेकिन मुझे यकीन नहीं है कि यह अच्छा अभ्यास है। यदि एप्पल किसी बिंदु पर दो ड्रॉपडाउन के आदेश को स्वैप करने का निर्णय लेता है तो क्या होगा?

किसी भी सहायता की सराहना की जाएगी।

अद्यतन :

नीचे दिए गए सुझाव के अनुसार 10.6.8 और इंस्पेक्टर का उपयोग करते हुए, मुझे निम्नलिखित मिलते हैं:

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


मैंने पाया UI elements: रूप में अच्छी तरह यहाँ उपयोगी से आदेश n8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescript
PHS

यहाँ पूछें अलग पेज में एक और पेज का लिंक दिया गया है, जिसे वर्तमान पृष्ठ से जोड़ा गया है, जिसे कहा जाता है: AppleScript - मैं यूआई तत्वों के नाम, गुण, गुण, कक्षाओं को प्रोग्रामिबल रूप से एक्सेसिबिलिटी इंस्पेक्टर के बिना "अनुमान" के बिना कैसे प्राप्त कर सकता हूं? (यह यहाँ सवाल था कि मैं "हाउ-टू" पर कुछ बुनियादी तथ्य क्यों सीखना चाहता था)
क्लेम्सम लैंग

जवाबों:


15

अपडेट करें। यह 10.7.x में काम करेगा लेकिन 10.6 में लेस एलिमेंट की जानकारी है।

फ़ंक्शन शीट का वर्णन करने के लिए प्रिंट शीट में बटन्स (ड्रॉप डाउन) का वर्णन है।

में पहुँच क्षमता निरीक्षक ; जब आप तत्व (बटन) पर माउस मँडराते हैं, तो आप इसे देखते हैं। आप एक्सेसिबिलिटी इंस्पेक्टर को लॉक कर सकते हैं के दृश्य को cmd + F7 के साथ ।

विवरण को AXDescription के रूप में सूचीबद्ध किया जाएगा

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

प्रिंटर के मामले में यह प्रीसेट के लिए प्रिंटर है यह प्रीसेट है

यदि आप AXDescription को जानते हैं तो आप कुछ इस तरह से नंबर का उपयोग करने से बच सकते हैं। लेकिन यह एकमात्र तरीका नहीं है। सिर्फ एक उदाहरण।

activate application "Preview"
tell application "System Events"
    tell process "Preview"
        click ((pop up buttons of sheet 1 of window 1) whose description is "Printers")
    end tell
end tell

इस उदाहरण में काम करने के लिए ऊपर 'प्रिंट विवरण' के साथ प्रिंट शीट दिखाई देनी चाहिए

बटन / ड्रॉप डाउन में एक मेनू है। तो आप बटन के मेनू के मेनू आइटम का उल्लेख करके इसे चुन या क्लिक कर सकते हैं ।

या तो संख्या से या उसके शीर्षक / AXTitle का उपयोग करके।

activate application "Preview"
    tell application "System Events"
        tell process "Preview"
            click ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

click menu item "Last Used Settings" of menu of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")
        end tell
    end tell

आप बटन के लिए एक चर का उपयोग करके और उस कॉल करके दोहराए जाने वाले कोड को छोटा कर सकते हैं। जब यह नीचे मेरे उदाहरण की तरह कर रहा है;

   activate application "Preview"
tell application "System Events"
    tell process "Preview"
        set Presets_button to item 1 of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

        click Presets_button
        click menu item "Last Used Settings" of menu of Presets_button
    end tell
end tell

5

इस मैक ओएस एक्स संकेत से जुड़े स्क्रिप्ट में से किसी एक का उपयोग करें ताकि पता का उपयुक्त रूप मिल सके: ऐप्पलस्क्रिप्ट उपयोगकर्ता इंटरफ़ेस स्क्रिप्टिंग में उपयोग के लिए नियंत्रण और मेनू आइटम ढूँढना।

IIRC, आपको क्लिक करना होगा (cmd सिस्टम इवेंट्स में है) पॉपअप मेनू बटन से पहले आप इसके मेनू से मेनू आइटम चुन सकते हैं।


4

आश्चर्य करने वालों के लिए, ऐसा लगता है कि 10.7 में एक्सेसिबिलिटी इंस्पेक्टर को खोजने के लिए एक स्थान है:

/Applications/Xcode.app/Contents/Applications


1

मैं हाल ही में Apple स्क्रिप्ट में UI स्क्रिप्टिंग के लिए अपने वर्कफ़्लो को लिखता हूं

संक्षेप में, मुख्य घटक जो चीजों को बहुत अधिक बनाता है, मेरे लिए बहुत आसान था यह सीख रहा था कि UI ElementsAppleScript में कमांड उन शर्तों की एक सूची देता है जो AppleScript संपादक यूआई तत्वों को कॉल करने के लिए देखना चाहता है । एक्सेसिबिलिटी इंस्पेक्टर (जो अक्सर थोड़ा अलग होता है) से लेकर वर्किंग स्क्रिप्ट बनाने के लिए इसे देखें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.