9

प्रोटैक्टर 1.7.0 ने एक नई सुविधा पेश की है: एक नया लोकेटर by.deepCss जो shadow DOM के भीतर तत्वों को खोजने में मदद करता है।छाया में तत्व ढूंढना DOM

कौन सा उपयोग मामलों में यह शामिल है? आप छाया डोम में तत्वों तक कब पहुंचना चाहते हैं?


कारण मैं सवाल पूछ कि मैं इस मामले के प्रेरक ओर से याद कर रहा हूँ है - मैं मुख्य रूप से एक उच्च स्तरीय रूपरेखा है कि वास्तविक उपयोगकर्ता बातचीत की नकल करने में मदद करता है के रूप में चांदा के बारे में सोचा। छाया पेड़ों तक पहुंचने से बहुत गहरी तकनीकी चीज की तरह लगता है और आप ऐसा क्यों करना चाहते हैं जो मुझे भ्रमित कर रहा है।

+0

मैं प्रश्न के संदर्भ से मेल खाने के लिए शीर्षक संपादित करूंगा, लेकिन मुझे यकीन नहीं है कि प्रोटैक्टर/वेबड्राइवर और सामान्य उपयोग के बीच उपयोग के मामले अलग-अलग होंगे। – BoltClock

+0

@ बोल्टक्लॉक हाँ, मैं सहमत हूं, अच्छा बिंदु। यदि आपके पास बेहतर शीर्षक है, तो कृपया संपादित करें। इसके अलावा, 'सेलेनियम' के साथ टैगिंग हो सकती है .. – alecxe

+0

मैं इसे एक उत्तर के रूप में जोड़ने वाला नहीं हूं क्योंकि किसी के पास कहने के लिए कुछ बेहतर हो सकता है, लेकिन सवाल यह है कि प्रोटैक्टर के पास इतने सारे लोकेटर रणनीतियों क्यों हैं।अनिवार्य रूप से, डेवलपर्स छाया प्रदर्शन में तत्वों को सत्यापित करना चाहते हैं क्योंकि यह यूआई डिस्प्ले का हिस्सा है। – hankduan

उत्तर

5

अपने प्रश्न का उत्तर देने के लिए, यहां एक संबंधित प्रश्न है: "छाया डोम कौन सी जानकारी प्रदान करता है जो कच्चे एचटीएमएल को देखता है?"

निम्नलिखित स्निपेट एक shadom डोम (क्रोम या फ़ायरफ़ॉक्स के माध्यम से दृश्य) बनाता है:

<input type="date">

आप तीर पर क्लिक करें, तो एक पॉप अप सभी तिथियों के साथ खुलता है, और आप इसे चुन सकते हैं।

अब कल्पना करें कि आप एक होटल आरक्षण ऐप बना रहे हैं और आपने कस्टम छाया डोम डेट पिकर बनाया है, जहां कमरे अनुपलब्ध होने पर यह काला हो जाएगा (और उपयोगकर्ता को चुनने की अनुमति नहीं देगा)।

कच्चे एचटीएमएल को देखते हुए, आप <input type="date"> और उपयोगकर्ता द्वारा चयनित मूल्य/तिथियां देखते हैं। हालांकि, आप कैसे परीक्षण करेंगे कि ब्लैक आउट यूआई इरादे के रूप में काम कर रहा है? इसके लिए आपको छाया डोम की जांच करनी होगी, जहां पॉप अप रहता है।

+0

अच्छा उदाहरण, अब मुझे लगता है कि यह मेरे लिए और व्यावहारिक मूल्य के लिए और अधिक समझ में आता है। धन्यवाद! – alecxe

+0

क्या आप इस धागे को भी देख सकते हैं: [छाया डोम में तत्वों तक पहुंच] [http://stackoverflow.com/questions/28911799/accessing-elements-in-the-shadow-dom)? ऐसा प्रतीत होता है कि हम देशी HTML5 तत्वों की छाया DOM तक नहीं पहुंच सकते हैं .. क्या यह सच है? धन्यवाद। – alecxe

+1

मैंने कोशिश नहीं की है, लेकिन अगर मैं html5 देशी छाया डोम छुपा हुआ हूं तो मुझे आश्चर्य नहीं होगा। इस चयनकर्ता का उद्देश्य हमेशा कस्टम निर्मित छाया डोम्स का परीक्षण करना है। – hankduan

1

कारण मैं सवाल पूछ कि मैं इस मामले के प्रेरक ओर से याद कर रहा हूँ है - मैं मुख्य रूप से एक उच्च स्तरीय रूपरेखा है कि वास्तविक उपयोगकर्ता बातचीत की नकल करने में मदद करता है के रूप में चांदा के बारे में सोचा। छाया पेड़ों तक पहुंचने से बहुत गहरी तकनीकी चीज की तरह लगता है और आप ऐसा क्यों करना चाहते हैं जो मुझे भ्रमित कर रहा है।

ऐसा नहीं लगता है website जो छाया डोम के लिए एक परिचय दिखाता है। यह कहता है कि:

छाया डोम प्रस्तुति से सामग्री को अलग करता है जिससे नामकरण विवादों को समाप्त कर दिया जाता है और कोड अभिव्यक्ति में सुधार होता है।

छाया डोम मुख्य रूप से सामग्री को अलग करने और आपकी कोड अभिव्यक्ति में सुधार करने से बचने में मदद करता है, जिससे इसे साफ और बेहतर (मुझे लगता है)। मुझे यह कहने में खेद है कि मैं वास्तव में सेलेनियम का उपयोग नहीं करता हूं, इसलिए यहां बहुत अधिक जानकारी वाली वेबसाइट है: http://webcomponents.org/polyfills/shadow-dom/

मुझे उम्मीद है कि यह आपकी मदद करेगा!

+0

लिंक के लिए धन्यवाद। मुझे लगता है कि मैं छाया डोम के बारे में समझने के करीब आ रहा हूं लेकिन सवाल अभी भी बना हुआ है: अगर किसी ने छाया डोम में कार्यान्वयन के विवरण छुपाए हैं, तो हम ब्राउज़र परीक्षण में अंत तक अंत तक क्यों पहुंचना चाहते हैं? यह इसके पीछे एक प्रेरणा और असली दुनिया का उदाहरण है .. – alecxe

संबंधित मुद्दे