मान लें कि मेरे पास यह एचटीएमएल है (टैग नामों को अनदेखा करें):

<div>
    <card>
        <h2>1</h2>
    </card>
    <footer>
        <p>text 1</p>
    </footer>
</div>

<div>
     <card>
        <h2>2</h2>
    </card>
    <footer>
        <p>text 2</p>
    </footer>
</div>

<div>
    <card>
        <h2>3</h2>
    </card>
    <footer>
       <p>text 2</p>
    </footer>
</div>

और मैं p टैग का चयन करना चाहता हूं जिसमें 2 का h2 मान है (मैं टेक्स्ट 2 के साथ p का चयन करूंगा)

अगर मैं इस अभिव्यक्ति //h2[text()="2"]/../following::footer/p का उपयोग करता हूं तो मुझे 2 p टैग मिलेंगे।

मैं कजिन h2 मान 2 के साथ केवल p टैग का चयन कैसे करूं?

संपादित करें: रॉबी एवरिल उत्तर काम करने वाला पहला व्यक्ति था, लेकिन आपको अन्य उत्तरों की जांच करनी चाहिए, वे भी बहुत अच्छे हैं।

1
José Sánchez 10 अक्टूबर 2018, 15:19

3 जवाब

सबसे बढ़िया उत्तर

आप h2 से मेल खाने वाले div से नेविगेट कर सकते हैं जिसमें वह तत्व है जो आप चाहते हैं, फिर वहां से footer/p तत्वों को लक्षित करें:

//h2[text()="2"]/../../footer/p
1
Robbie Averill 10 अक्टूबर 2018, 15:22

आवश्यक तत्व का चयन करने के लिए नीचे XPath का उपयोग करने का प्रयास करें:

//card[h2="2"]/following-sibling::footer/p
1
Andersson 10 अक्टूबर 2018, 15:31

यह XPath,

//div[card/h2="2"]/footer/p

2 के स्ट्रिंग मान वाले card/h2 तत्वों के footer/p चचेरे भाई का चयन करेंगे।

1
kjhughes 10 अक्टूबर 2018, 16:43