سؤال

أنا أكتب اختبار السيلينيوم.

لدي تسمية هناك "تعيين مصمم" واتبع مربع تحديد اليمين بعد التسمية. لسوء الحظ، حدد مربع يحتوي على معرف ديناميكي ولا يمكنني الاستعلام عنه حسب المعرف أو أي سمة أخرى.

هل يمكنني إنشاء استعلام XPATH الذي يعود "أول علامة علامة بعد" تعيين مصمم "؟

ملاحظة. Selenium يدعم XPath 1.0 فقط

هل كانت مفيدة؟

المحلول

هذا سيكون شيئا مثل:

//label[text() = 'Assign Designer']/following-sibling::select[1]

لاحظ أن:

  • الاختزال غير فعال للغاية، لأنه يؤدي إلى فحص على مستوى المستند. إذا كنت تستطيع أن تكون أكثر تحديدا حول موضع الملصق، أوصي بذلك. إذا كانت الوثيقة صغيرة، إلا أن هذا لن يكون مشكلة.
  • لأنني لا أعرف الكثير عن السيلينيوم، واستخدمت "التسمية". إذا لم يكن <label>, ، يجب عليك استخدام اسم العنصر الفعلي، بالطبع. ؛-)
  • تأكد من تضمين موقف المسند ([1], في هذه الحالة) كلما استخدمت محورا مثل "following-sibling". من النسيان بسهولة وإذا كان كذلك، قد تنتج تعبيراتك نتائج غير متوقعة.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top