2012-08-13 6 views
23

मैं सेलेनियम में नौसिखिया हूँ के साथ सेलेनियम WebDriver का उपयोग कर विकल्प का चयन करने के लिए और मैं यहाँ अटक कर रहा हूँ:कैसे जावा

मैं चयनित लेबल या मूल्य एक ड्रॉप डाउन की सेलेनियम WebDriver और उसके बाद का उपयोग कर प्राप्त करना चाहते हैं प्रिंटकंसोल पर।

मैं ड्रॉप डाउन से किसी भी मूल्य का चयन करने में सक्षम हूं लेकिन मैं चयनित मूल्य पुनर्प्राप्त करने और इसे प्रिंट करने में सक्षम नहीं हूं।

Select select = new 
Select(driver.findElement(By.id("MyDropDown"))).selectByVisibleText(data[11].substring(1 , data[11].length()-1)); 
WebElement option = select.getFirstSelectedOption(); 

लेकिन मेरे सभी प्रयास व्यर्थ में जा रहा कोई भी मदद की सराहना की जाएगी। अग्रिम :) धन्यवाद

उत्तर

40

आप getText() का उपयोग कर पाठ (विकल्प तत्व के लिए आप getFirstSelectedOption() का उपयोग कर गया) प्राप्त करने के लिए सक्षम होना चाहिए:

Select select = new Select(driver.findElement(By.xpath("//select"))); 
WebElement option = select.getFirstSelectedOption(); 
String defaultItem = option.getText(); 
System.out.println(defaultItem); 
+5

मैं के लिए जोड़ना होगा भविष्य के पाठकों जिन्हें हमें org.openqa.selenium.support.ui आयात करने की आवश्यकता है। चयन तत्वों पर काम करने के लिए चयन करें। – Michal

+0

हां मीकल, आप सही हैं। –

16

जवाब पूरी करने:

String selectedOption = new Select(driver.findElement(By.xpath("Type the xpath of the drop-down element"))).getFirstSelectedOption().getText(); 

Assert.assertEquals("Please select any option...", selectedOption); 
2

सेलेनियम में पायथन यह है:

from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support.ui import Select 

def get_selected_value_from_drop_down(self): 
    try: 
     select = Select(WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID, 'data_configuration_edit_data_object_tab_details_lb_use_for_match')))) 
     return select.first_selected_option.get_attribute("value") 
    except NoSuchElementException, e: 
     print "Element not found " 
     print e 
0
var option = driver.FindElement(By.Id("employmentType")); 
     var selectElement = new SelectElement(option); 
     Task.Delay(3000).Wait(); 
     selectElement.SelectByIndex(2); 
     Console.Read(); 
+1

जबकि यह कोड स्निपेट प्रश्न हल कर सकता है, [एक स्पष्टीकरण सहित] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) वास्तव में आपकी पोस्ट की गुणवत्ता में सुधार करने में मदद करता है। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, और वे लोग आपके कोड सुझाव के कारणों को नहीं जानते हैं। – DimaSan

1

निम्न विकल्प पर:

WebElement option = select.getFirstSelectedOption(); 
option.getText(); 

विधि getText() आप एक खाली पाने से, आप विधि getAttribute का उपयोग कर विकल्प के मूल्य से स्ट्रिंग प्राप्त कर सकते हैं:

WebElement option = select.getFirstSelectedOption(); 
option.getAttribute("value");