2015-10-01 8 views
5

में XPath का उपयोग कर टेक्स्ट द्वारा वेबेलमेंट प्राप्त करना मैं XPath का उपयोग कर टेक्स्ट पर आधारित कोई भी वेबमेल ढूंढना चाहता हूं।सेलेनियम परीक्षण

WebElement कि मैं खोजने के लिए दिलचस्पी है,

WebElement that I am interested in

इसके एचटीएमएल,

Its CSS

मूल रूप से मेरी WebElement कि मैं पाठ से प्राप्त करने का प्रयास कर रहा हूँ एक इनपुट तत्व शामिल है।

मैं वर्तमान में उपयोग करते हैं,

driver.findElement(By.xpath("//*[normalize-space(text()) = 'Own Hotel']")); 

जो WebElement ऊपर नहीं मिल रहा है, लेकिन यह आम तौर पर अन्य सभी वेब तत्व को पुनः प्राप्त करने काम करता है।

भी,

By.xpath("//*[contains(text(),'Own Hotel')]") 

मुझे कोई परिणाम नहीं दिया। हालांकि मुझे सटीक टेक्स्ट मैच में दिलचस्पी है।

मैं वेब तत्व के अंदर मौजूद तत्वों के टेक्स्ट इमटेरियल द्वारा वेब तत्व खोजने का एक तरीका ढूंढ रहा हूं। यदि पाठ मेल खाता है, तो इसे वेबलेमेंट वापस करना चाहिए।

धन्यवाद!

+0

पृष्ठ पर कोई iframes के बारे में अच्छा व्याख्या है। 'NoSuchElementException' – LINGS

+0

फेंकता है यह प्रतीक्षा समस्या नहीं है। पृष्ठ को लोड होने पर मैंने क्रोम पर इस xpath का परीक्षण किया, यह तत्व नहीं मिला। इसलिए इस मामले के लिए मेरा xpath सही नहीं है। मुझे वैकल्पिक एक्सपैथ चाहिए। – LINGS

+0

कृपया एचटीएमएल कोड को एक तस्वीर के बजाय टेक्स्ट के रूप में पोस्ट करें। भविष्य के बिंदु पर तस्वीर अब उपलब्ध नहीं होगी और यह प्रश्न सहायक नहीं होगा। – JeffC

उत्तर

4

ऐसा लगता है कि टेक्स्ट को लेबल के अंदर लपेटा गया है और इनपुट नहीं है। इस

driver.findElement(By.xpath(".//label[text()[normalize-space() = 'Own Hotel']]")); 

प्रयास करें इस xpath पैटर्न here

+0

बहुत बहुत धन्यवाद, यह काम किया! – LINGS

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