xpath

2012-03-17 18 views
6

के माध्यम से किसी दिए गए टेक्स्ट मान के साथ इनपुट टैग तत्व प्राप्त करें xpath के माध्यम से, मैं उस दस्तावेज़ में सभी इनपुट तत्वों का चयन कैसे कर सकता हूं जिनमें दिए गए मान दिए गए हैं।xpath

उदाहरण के लिए, यदि मैं Google पर जाता हूं और "हैलो वर्ल्ड" टाइप करता हूं, तो मैं उन सभी इनपुट टैग कैसे प्राप्त करूं जिनके पास "हैलो वर्ल्ड" है?

नीचे की तरह चीजों के साथ खेलना बंद नहीं किया गया है, क्योंकि टेक्स्ट फ़ील्ड में मान वास्तव में दस्तावेज़ का हिस्सा नहीं है।

document.evaluate("//input[text() = 'hello world']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue 

बहुत आसान होना चाहिए, लेकिन मैं आश्चर्यजनक रूप से अटक गया हूं।

+0

आप वास्तव में यह भार के बाद एक पृष्ठ से उन मूल्यों को उठाने का प्रयास कर रहे हैं और एक उपयोगकर्ता करता है कुछ क्रियाएं, या आपके पास पहले से ही XML दस्तावेज़ है और आप इसे खोजना चाहते हैं? –

उत्तर

11

आपका एक्स-पथ अभिव्यक्ति आदानों है मूल्य 'हैलो दुनिया'

साथ विशेषता के लिए खोज करना चाहिए इसका कारण यह है जहां मूल्य में, नहीं तत्व के भीतर पाठ डाला जाता है कि।

//input[@value = 'hello world'] 
0

आप भाषा निर्दिष्ट नहीं किया है, लेकिन उपयोगकर्ता इनपुट यह करने की आवश्यकता होगी पुनः प्राप्त करने: की तरह

<input type='text' value='hello world' /> 

xpath एक्सप्रेशन दिखना चाहिए:

वास्तविक HTML तत्व प्रकार दिखाई देगा किसी प्रकार का जावास्क्रिप्ट बनें। jQuery में, आप यह कर सकते हैं:

$("input:contains('hello world')").val() 

जानकारी के लिए, contains() selector पर jQuery डॉक्स और val विधि

2

इनपुट जो लक्ष्य पाठ शामिल प्राप्त करने के लिए jQuery के बिना एक वैकल्पिक // इनपुट है देखना [इसमें शामिल हैं (@value, 'हैलो वर्ल्ड')]। इस इनपुट मिलेगा, भले ही उपयोगकर्ता प्रकार "हैलो दुनिया संख्या 7"

0

यह भी काम करने के लिए लगता है:

//input[@type='text'][@value='hello world']