باستخدام XPath:ابحث عن الرابط في الخلية 3 صفوف لأعلى

StackOverflow https://stackoverflow.com/questions/458126

  •  19-08-2019
  •  | 
  •  

سؤال

لدي صفوف متعددة في الجدول، يوجد في أحدها رابط أرغب في النقر عليه تلقائيًا.بالنسبة لنقطة البداية، لدي المثال الأخير الذي يحتوي فيه الصف على النص "سؤال اختباري؟":

بطاقة تعريف:1416

تعديل/موافقة تجاهل البريد الإلكتروني اسم:اسم المرسل

مفتوح غير متوفر مكان:موقع المرسل

عضو:لا

نص السؤال:سؤال الاختبار؟نص الرد 1:

نص الرد 2:

بطاقة تعريف:1417

تعديل/موافقة تجاهل البريد الإلكتروني اسم:اسم المرسل

مفتوح غير متوفر مكان:موقع المرسل

عضو:لا

نص السؤال:سؤال الاختبار؟نص الرد 1:

نص الرد 2:

لذا، سيكون //tr[td='سؤال اختباري؟'][last()] شيئًا مثل "نص السؤال:سؤال الاختبار؟"

على أية حال، ثلاثة صفوف أعلى من ذلك يوجد صف يحتوي على مجموعة من الروابط.أرغب في الحصول على xpath للارتباط الموجود في الخلية الأولى.

لقد حاولت الآن استخدام Position()، ولكن أشياء مثل //tr[position()=(//tr[td='سؤال اختباري؟'][last()][position()])-3] فقط' الطريقة الصحيحة للقيام بذلك ولا أستطيع العثور على أي أمثلة جيدة.

ثانكس

ديف

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

المحلول

سيكون هذا مسارًا سيئًا جدًا على أقل تقدير، لكنك تنظر إليه محاور بدءا من ancestor::tr ومن ثم الأخوة السابقة.النفق حتى <tr>, ، ثم عبر ثلاثة (ستحتاج إلى المرجع position() أعتقد هنا) ثم ننزل بطريقة عادية من هناك إلى هدفك.


يحرر:أسهل مما كنت أعتقد، الأخوة السابقون يعدون بشكل عكسي.

./ancestor::tr/preceding-sibling::tr[3]/td[1]/a
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top