java
  • selenium
  • 2011-10-08 15 views 11 likes 
    11

    मैं वेबड्राइवर-आधारित वाक्यविन्यास के साथ जावा का उपयोग करके सेलेनियम में एक चयन सूची से एक तत्व का चयन करने का प्रयास कर रहा हूं।सेलेनियम में चयन सूची का उपयोग कैसे करें?

    मैं

    elements = driver.findElements(By.xpath("//form[@action='inquiry/']/p/select[@name='myselect']")); 
        if (elements.size() == 0) { 
         return false; 
        } 
        if (guests != null) { 
         //what do I do here? 
        } 
    

    मैं ऐसा कैसे करते द्वारा चयन सूची मिल गया है?

    +0

    'मेहमानों! = Null' क्या मतलब है 'तत्व! = Null'? – nilesh

    उत्तर

    19
    WebElement select = driver.findElement(By.name("myselect")); 
    Select dropDown = new Select(select);   
    String selected = dropDown.getFirstSelectedOption().getText(); 
    if(selected.equals(valueToSelect)){ 
        //already selected; 
        //do stuff 
    } 
    List<WebElement> Options = dropDown.getOptions(); 
    for(WebElement option:Options){ 
        if(option.getText().equals(valueToSelect)) { 
         option.click(); //select option here;  
        }    
    } 
    

    यदि यह धीमी है, तो विकल्प खोजने

    dropDown.selectByValue(value); 
    or 
    
    dropDown.selectByVisibleText(text); 
    
    1
    element = driver.findElements(By.xpath("//form[@action='inquiry/']/p/select[@name='myselect']/option[*** your criteria ***]")); 
    if (element != null) { 
        element.click(); 
    } 
    

    की तरह कुछ पर विचार करें, और उसके बाद click यह

    6

    एक छोटी सी ओर टिप्पणी जावा पर लागू होता है जो:

    मेरे मामले में, जब मैं @nilesh के उदाहरण के अनुसार परीक्षण लिख रहा था, मुझे एक अजीब त्रुटि मिली, टी टोपी कन्स्ट्रक्टर अमान्य है। मेरे आयात किया गया था:

    import org.openqa.jetty.html.Select; 
    

    आप मिलती-जुलती त्रुटियां हैं तो आप, तो आप इस के लिए है कि आयात को दूर करने के लिए है:

    import org.openqa.selenium.support.ui.Select; 
    

    आप इस दूसरी आयात का उपयोग करते हैं, सब कुछ काम करेंगे।

    webElement findDropDown=driver.findElements(By.id="SelectDropDowm"); 
        wait.until(ExpectedConditions.visibilityOf(findDropDown)); 
        super.highlightElement(findDropDown); 
        new Select(findDropDown).selectByVisibleText(Value); 
    } 
    

    // विधि लटकती

    सार्वजनिक शून्य selectDropDown (स्ट्रिंग मान) {से एक तत्व का चयन करने के उजागर करने के लिए

    // विधि:

    +1

    मुझे आपके बारे में पता नहीं है, लेकिन व्यक्तिगत रूप से, मैं विभिन्न नामस्थानों में समान नामों वाले जावा के साथ कई वस्तुओं को नफरत करता हूं –

    0

    कोशिश इस तरह यह करने के लिए तत्व

    सार्वजनिक शून्य हाइलाइट एलिमेंट (वेब ​​एलिमेंट तत्व) {

    for (int i = 0; i < 2; i++) { 
    
         JavascriptExecutor js = (JavascriptExecutor) this.getDriver(); 
         js.executeScript(
           "arguments[0].setAttribute('style', arguments[1]);", 
           element, "color: yellow; border: 3px solid yellow;"); 
         js.executeScript(
           "arguments[0].setAttribute('style', arguments[1]);", 
           element, ""); 
    
        } 
    
    } 
    
    संबंधित मुद्दे