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

$

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

معلومات

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

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

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

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

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()
معلومات

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

الاستخدام
$(selector).$(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