2013-10-08 6 views
8

सेलेनियम वेबड्राइवर पर, मैं एक स्पैन टैग & प्रिंट से टेक्स्ट कैसे पुनः प्राप्त कर सकता हूं?सेलेनियम वेबड्राइवर पर स्पैन टैग से टेक्स्ट कैसे प्राप्त करें

String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span)).getText(); 
System.out.println(kk); 

लेकिन कोड ऊपर लौटा रहा है: कोड निम्नलिखित
div id="customSelect_3" class="select_wrapper"> <div class="select_display hovered"> <span class="selectLabel clear">UPS Overnight - Free</span>

का उपयोग करना:

एचटीएमएल कोड निम्न हैं - "नि: शुल्क यूपीएस रातों रात -"
मैं पाठ निकालने के लिए की जरूरत है/मुद्रण पाठ - "1"

+0

सभी महान सुझावों के लिए धन्यवाद लेकिन दुर्भाग्य से उनमें से कोई भी अपेक्षित परिणाम प्राप्त नहीं कर रहा है। अभी भी परिणाम – Onu

+3

के रूप में प्रदर्शित कर रहा है पाठ क्या दिखाई देता है? जावा के साथ मुझे बीआर टैग खाली होने पर इस समस्या का सामना करना पड़ा था। '.getText()' के बजाय मैंने '.getAttribute (" innerHTML ") का उपयोग किया था, जो कि मैं जो खोज रहा था उसे वापस कर दूंगा, जिसमें किसी भी HTML को अदृश्य या पाठ छिपा हुआ है। – jsherk

उत्तर

3

आपका कोड पढ़ना चाहिए -

String kk = wd.findElement(By.cssSelector("div[id^='customSelect'] span.selectLabel")).getText(); 

उपयोग सीएसएस। यह बहुत साफ और आसान है .. अगर मुझे आपकी समस्या हल हो जाती है तो मुझे बताएं।

6

मैं सहमत हूं कि सीएसएस बेहतर है। आप Xpath के माध्यम से यह करने के लिए करना चाहता था, तो आप की कोशिश कर सकते:

String kk = wd.findElement(By.xpath(.//*div[@id='customSelect_3']/div/span[@class='selectLabel clear'].getText())) 
2

आप बल्कि, xpath का उपयोग करेंगे, तो और उस अवधि के लिए अपने div नीचे केवल अवधि है नीचे मेरी उदाहरण का उपयोग करें। मैं सीएसएस का उपयोग करने की सिफारिश करता हूं (सरकैप्सलॉट की पोस्ट देखें)।

String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']//span)).getText(); 

सीएसएस उदाहरण:

String kk = wd.findElement(By.cssSelector("div[id='customSelect_3'] span[class='selectLabel clear']")).getText(); 
2

शायद स्पान तत्व छिपा हुआ है। यदि ऐसा है तो आंतरिक एचटीएमएल संपत्ति का उपयोग करें:

String kk = wd.findElement(By.xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel')]")).getAttribute("innerHTML") 

"/ .//" का अर्थ है "चयनित तत्व के अंतर्गत देखें"।

+0

धन्यवाद, .getAttribute ("innerHTML") ने वास्तव में मेरी समस्या हल की – Rodolfo

0
String kk = wd.findElement(By.xpath(//*[@id='customSelect_3']/div[1]/span)); 

kk.getText()। ToString(); System.out.println (+ kk.getText()। ToString());

+0

थोड़ा सा पाठ अच्छा होगा;) – Alexander

0

pythonic तरीका स्पैन टैग से पाठ प्राप्त करने के लिए: स्पैन टैग से पाठ होने का

driver.find_element_by_xpath("//*[@id='customSelect_3']/.//span[contains(@class,'selectLabel clear')]").text 
0

पीएचपी रास्ता:

$spanText = $this->webDriver->findElement(WebDriverBy::xpath("//*[@id='specInformation']/tbody/tr[2]/td[1]/span[1]"))->getText(); 
0

आप तत्व का पता लगाने और निकालने के लिए gettext() विधि का उपयोग करने की आवश्यकता है ये पाठ।

WebElement element = driver.findElement(By.id("customSelect_3")); 
System.out.println(element.getText()); 
संबंधित मुद्दे