تخطى إلى المحتوى الرئيسي

$$

الأمر $$ هو طريقة مختصرة ومفيدة لجلب عناصر متعددة في الصفحة. يُرجع ChainablePromiseArray يحتوي على مجموعة من عناصر WebdriverIO.

معلومات

على عكس $$ المرتبط بـ كائن المتصفح، هذا الأمر يستعلم عن العناصر بناءً على عنصر جذر.

يمكنك ربط $ أو $$ معًا دون تغليف الأوامر الفردية ضمن await من أجل التنقل خلال شجرة DOM، على سبيل المثال:

const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')

يقوم WebdriverIO بتجاوز جذور الظل (shadow roots) بسلاسة عند استخدام الأوامر $ أو $$، بغض النظر عن مستوى التداخل أو وضع جذر الظل، على سبيل المثال:

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)
المعلمات
الاسمالنوعالتفاصيل
selectorString, Function, Matcherمحدد، دالة JS، أو كائن مطابقة لجلب عناصر متعددة
أمثلة
example.html
loading...
multipleElements.js
loading...
multipleElements.js
loading...
multipleElements.js
loading...
القيمة المُرجعة
  • <WebdriverIO.ElementArray>

Welcome! How can I help?

WebdriverIO AI Copilot