$$
$$
कमांड पेज पर कई एलिमेंट्स को प्राप्त करने के लिए एक संक्षिप्त और उपयोगी तरीका है।
यह एक ChainablePromiseArray
लौटाता है जिसमें WebdriverIO एलिमेंट्स का एक सेट होता है।
$$
के विपरीत जो browser ऑब्जेक्ट से जुड़ा होता है,
यह कमांड एक रूट एलिमेंट के आधार पर एलिमेंट्स को क्वेरी करता है।
आप DOM ट्री में नीचे जाने के लिए व्यक्तिगत कमांड्स को await
में लपेटे बिना $
या $$
को एक साथ चेन कर सकते हैं, उदाहरण के लिए:
const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
WebdriverIO निर्बाध रूप से शैडो रूट्स को पार करता है जब $
या $$
कमांड्स का उपयोग किया जाता है, चाहे नेस्टिंग लेवल या
शैडो रूट मोड कुछ भी हो, उदाहरण के लिए:
await browser.url('https://ionicframework.com/docs/usage/v8/datetime/basic/demo.html?ionic:mode=md')
await browser.$('button[aria-label="Sunday, August 4"]').click()
await browser.$('.aux-input').getValue()
क्वेरी के परिणाम पर लूप करने के लिए एसिंक इटरेटर्स का उपयोग करना भी संभव है, उदाहरण के लिए:
// सभी इमेज सोर्स प्रिंट करें
for await (const img of $$('img')) {
console.log(await img.getAttribute('src'))
}
विशिष्ट एलिमेंट्स को कैसे चुनें, इस पर अधिक जानकारी के लिए, सिलेक्टर्स गाइड देखें।
उपयोग
$(selector).$$(selector)
पैरामीटर्स
नाम | टाइप | विवरण |
---|---|---|
selector | String, Function, Matcher | सिलेक्टर, JS फंक्शन, या मैचर ऑब्जेक्ट कई एलिमेंट्स को प्राप्त करने के लिए |
उदाहरण
loading...
loading...
loading...
loading...
रिटर्न्स
- <WebdriverIO.ElementArray>