多选下拉菜单

时间:2017-12-07 13:40:41

标签: java selenium

我正在使用selenium(java)编写多选的代码,我需要执行以下任务:

  1. 在下拉列表中选择多个选项
  2. 点击首先选中的按钮,这将从下拉列表打印第一个选定的选项。
  3. 点击按钮全部选中,将按顺序打印所有选定的选项。
  4. 我有这个代码,它返回我未定义的第二个任务的结果。

    public class MultipleSlectList {
    
        public static WebDriver driver ;
    
        @BeforeTest
        public void startbrowser () throws Exception {
            System.out.println("launching browser");
            System.setProperty("webdriver.gecko.driver", "H:\\Selenium3\\geckodriver-v0.19.1-win32\\geckodriver.exe");
            driver = new FirefoxDriver();
            driver.get("http://www.seleniumeasy.com/test/basic-select-dropdown-demo.html");
    
        }
    
        @Test
    
        public void selectlist () throws Exception {
    
            WebElement ele1 = driver.findElement(By.id("multi-select"));
            Select se= new Select(ele1);
            se.selectByValue("New Jersey");
            Thread.sleep(2000);
            se.selectByValue("Texas");
            Thread.sleep(2000);
            se.selectByValue("Florida");
            Thread.sleep(2000);
            //Thread.sleep(10000);
            WebElement btn1= driver.findElement(By.id("printMe"));
            btn1.click(); // it is supposed to return New Jersy 
            WebElement firstOption = se.getFirstSelectedOption();
            System.out.println("The First selected option is::" +firstOption.getText());
            List <WebElement> oSize = se.getAllSelectedOptions();
    
            int iListSize = oSize.size();
            // Setting up the loop to print all the options
            for (int i = 0; i < iListSize; i++)
            {
                // Storing the value of the option  
                String sValue = oSize.get(i).getText();
                // Printing the stored value
                System.out.println(sValue);
            }
        }
    }
    

    请帮我进一步。

    我也试过jquery但没有运气。结果与&#34; undefined&#34;相同。在这两种情况下。

    谢谢!

1 个答案:

答案 0 :(得分:0)

选择所有下拉选项的步骤:

  • 通过webdriver找到SELECT WebElement。
  • 创建选择用于操作下拉列表的类。
  • 在下拉列表中获取所有选项列表。
  • 循环选项列表,获取每个选项值并使用
  • Select.selectByValue(optionValue)将其选中。
  • 然后选择了所有下拉选项。

下面的文章有代码示例来实现上述场景。

http://www.dev2qa.com/select-dropdown-list-selenium-webdriver/