首页 > 解决方案 > 错误:尝试从 selenium 中的列表下拉列表中进行选择时出现此异常“选项元素不在选择中”

问题描述

我一直在尝试从列表下拉列表中选择一个元素(而不是选择下拉列表)。每次我尝试这个时,selenium 都能够使用 xpath 定位元素,但它不会单击元素。相反,它会抛出一个异常,上面写着:

org.openqa.selenium.JavascriptException: javascript error: option element is not in a select

HTML:

<list id="cmds" class="dropdown-menu">

    <option value="{YEAR}">{YEAR}</option>
    <option value="{DAY}">{DAY}</option>
    <option value="{HOME}">{HOME}</option>

</list>

标签: listseleniumxpathdropdown

解决方案


首先,您需要单击下拉菜单。然后使用下面的 xpath 返回 WebElements 列表(下拉值)并使用 for 循环您可以单击任何下拉值。

//list[@id='cmds']/option

Java中的示例代码:

WebElement dropDown = driver.findElement(By.xpath("enter xpath for the dropdown"));
dropDown.click();
List<WebElement> valuesInDropDown = driver.findElements(By.xpath("//list[@id='cmds']/option"));
for (WebElement value : valuesInDropDown) {
    if (value.getText().equals("{YEAR}"))
        value.click();
}

推荐阅读