java - 从选项列表构建数组

标签 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"));
            }  

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

最佳答案

在 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(",");
}

关于java - 从选项列表构建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24827917/

相关文章:

java - jvm的抽象机器概念

java - 向 Sonarqube 添加 Java 代码格式化规则

javascript - Onload 事件不适用于 Internet Explorer

java - HTTPS 上的 Weblogic 服务器 SSL 问题

java - 如何从 XSL 输出缩进中排除某些元素?

java - 需要从文件创建对象并将其放入数组中

java - Java 中未捕获 try-catch-block 中的异常

java - eclipse中F11和Ctrl+F11的区别?

html - 如何在站点地图中为 <td> 背景颜色设置 CSS

html - 图像在 IE 上不重叠