从选项列表构建数组

时间:2014-07-18 14:51:48

标签: java eclipse internet-explorer selenium selenium-webdriver

我目前有以下代码可以找到Show ID,然后是option代码中的元素,并逐个打印出来。

WebElement dropDown = driver.findElement(By.id("Show"));
            List<WebElement> options = dropDown.findElements(By.tagName("option"));


            for (WebElement el : options) {
                System.out.println(el.getAttribute("text"));
            }  

如何修改它以便它构建一个包含所有文本元素的数组,而不是逐个打印出来?

2 个答案:

答案 0 :(得分:0)

您只需要声明另一个数组(或列表,具体取决于您的偏好)并更改System.out.println()语句。

对于text属性为的任何对象的List:

for(WebElement el : options){
    secondList.Add(el.getAttribute("text"));
}

对于数组,最简单的方法是使用索引:

for(int i = 0; i < options.Size(); i++){
    secondArray[i] = options.Get(i).getAttribute("text");
}

答案 1 :(得分:0)

在WebDriver中,我们在Select类中使用了一种方法来获取select标签中的所有选项。

List<WebElement> options = new Select(driver.findElement(By.id("Show"))).getOptions();

要获取所有选项值数组,请遵循以下逻辑。

public String[] getOptions() {
   String optionValues="";
   List<WebElement> options = new Select(driver.findElement(By.id("Show"))).getOptions();
   for(WebElement eachOption : options) {
       optionValues+=eachOption.getText()+",";
   }
   return optionValues.split(",");
}