2010-02-02 13 views
6

यह मेरी पहली पोस्ट है और चूंकि मैंने कई महान उत्तरों को देखा है, मैंने सोचा कि मैं इसे आज़मा दूंगा।XPath तत्व जिसमें एक विशेषता है और जिसके माता-पिता के माता-पिता में एक और विशेषता है

मैं एक HTML दस्तावेज़ में एक विशिष्ट तत्व प्राप्त करने के लिए XPath का उपयोग करने का प्रयास कर रहा हूं। यहाँ एक उदाहरण गूगल वेब पेज के आधार पर है:

<html> 
    <head> 
    <title>XPath Test</title> 
    </head> 
    <body> 
    <form name='f'> 
     <table> 
     <tbody> 
      <tr> 
      <td> 
       <input name='q' type="text" /> 
      </td> 
      </tr> 
     </tbody> 
     </table> 
    </form> 
    </body> 
</html> 

ऊपर के उदाहरण (जो मदद के लिए पूछ के प्रयोजनों के लिए सरल है) का उपयोग करना, मैं इनपुट तत्व जिसका नाम ढूँढने में सक्षम होना चाहते हैं = 'क्यू' और किसके पूर्वजों का नाम है जो 5 माता-पिता नाम = 'एफ' के साथ हैं।

उदाहरण के लिए यदि मैं इसे एसडब्ल्यूए.ए.टी. के वाक्यविन्यास में करना था। जो एक खुला स्रोत वेब स्वचालन परीक्षण http://ulti-swat.wikispaces.com में स्थित पुस्तकालय है, वाक्य रचना के रूप में किया जाएगा इस प्रकार है:

| AssertElementExists | अभिव्यक्ति | नाम = q; parentElement.parentElement.parentElement.parentElement.parentElement.name = च | इनपुट |

मैंने अभी XPath सीखना शुरू कर दिया है और यह समझने की कोशिश कर रहा हूं कि axes के साथ भविष्यवाणी कैसे करें। क्या XPath के साथ इस तरह के अभिव्यक्ति करना संभव है? यदि ऐसा है तो कृपया कोई जानकार है कृपया मदद करें?

उत्तर

13

आप कर सकते थे करने के लिए:

//input[@name='q' and ancestor-or-self::*[@name='f']] 
// -- input element whose name='q' and who has an ancestor with the name='f' 

या

//input[@name='q' and ../../../../../../*[@name='f']] 
// -- input element whose name='q' and who is 5 parents up with the name='f' 

आप अपने xPath अभिव्यक्ति का परीक्षण करने के लिए इस डेस्कटॉप XPath Visualizer उपयोग कर सकते हैं। एक basic tutorial can be found here

संबंधित मुद्दे