我目前有以下代码可以找到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"));
}
如何修改它以便它构建一个包含所有文本元素的数组,而不是逐个打印出来?
答案 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(",");
}