सेलेनियम का उपयोग करके वेब पृष्ठों में तत्वों का पता लगाने के दौरान मैं बहुत सारे XPath का उपयोग करता हूं, और हाल ही में नोड 1/वंश :: नोड 2 का उपयोग करने के लिए नोड 1 // नोड 2 का उपयोग करने से दूर चला गया हूं। दो तरीकों के बीच क्या अंतर है? क्या दूसरे की तुलना में एक और अधिक कुशल है?xpath में // नोड और/descendant :: नोड के बीच क्या अंतर है?
उदाहरण एक्सएमएल टुकड़ा प्रदर्शित करने के लिए:
<div id="books">
<table>
<tr><td class="title">Lord of the Rings</td><td class="author">JRR Tolkein</td></tr>
<tr><td class="title">The Hitch-Hikers Guide to the Galaxy</td><td class="author">Douglas Adams</td></tr>
</table>
</div>
तो यह होगा:
id('books')//td[@class='title']
या:
id('books')/descendant::td[@class='title']
लिया गया था मैं पूछ रहा से पहले टी.आर. घूमते जाना चाहिए था। दूसरों के लिए http://www.w3.org/TR/xpath#path-abbrev प्रासंगिक अनुभाग है। ऐसा प्रतीत होता है कि // वंश के लिए छोटा है या स्वयं स्वयं बिल्कुल समान नहीं है।इसके अलावा, मैं // // का उपयोग करने से दूर रहने का कारण यह है कि // नोड [1]/वंश के समान नहीं है :: नोड [1] –
मैंने उपरोक्त उस बिंदु पर विस्तार किया है। // वंशज नहीं है, या स्वयं, यह वंश-या-स्वयं/बच्चा है .... जो मेरे लिए वंश की तरह एक भयानक लग रहा है। –
सहमत हुए। अच्छी तरह से ध्यान दिया। :) –