انتقل إلى المحتوى الرئيسي

$

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

يمكنك أيضًا تمرير كائن كمحدد حيث يحتوي الكائن على خاصية element-6066-11e4-a52e-4f735466cecf مع قيمة مرجعية لعنصر. سيقوم الأمر بعد ذلك بتحويل المرجع إلى عنصر WebdriverIO موسع.

ملاحظة: سلسلة أوامر $ و $$ لها معنى فقط عندما تستخدم استراتيجيات محددات متعددة. وإلا ستقوم بعمل طلبات غير ضرورية تبطئ الاختبار (على سبيل المثال، $('body').$('div') سيؤدي إلى طلبين في حين أن $('body div') يفعل حرفيًا نفس الشيء مع طلب واحد فقط)

ملاحظة: استخدم كائنات العناصر هذه فقط إذا كنت متأكدًا من أنها لا تزال موجودة في الصفحة، على سبيل المثال باستخدام أمر isExisting. لا يمكن لـ WebdriverIO إعادة جلبها نظرًا لعدم توفر معلومات المحدد.

عند استخدام وضع الاختبار wdio يكون هذا الأمر متغيرًا عامًا، انظر Globals لمزيد من المعلومات. عند استخدام WebdriverIO ضمن نص مستقل سيكون موجودًا على كائن المتصفح بدلاً من ذلك (على سبيل المثال browser.$$).

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

const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
معلومات

لمزيد من المعلومات حول كيفية تحديد عناصر معينة، راجع دليل المحددات.

الاستخدام
browser.$(selector)
المعلمات
الاسمالنوعالتفاصيل
selectorString, Function, Matcherمحدد، دالة JS، أو كائن مطابق لجلب عنصر معين
أمثلة
example.html
loading...
singleElements.js
loading...
singleElements.js
loading...
singleElements.js
loading...
$.js
it('should use Androids DataMatcher or ViewMatcher selector', async () => {
const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"],
"class": "androidx.test.espresso.matcher.ViewMatchers"
});
await menuItem.click();

const menuItem = await $({
"name": "hasEntry",
"args": ["title", "ViewTitle"]
});
await menuItem.click();
});
العوائد
  • <WebdriverIO.Element>

Welcome! How can I help?

WebdriverIO AI Copilot