You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java编译错误:WebElement无法转换为List<WebElement>如何解决?

解决Selenium中WebElement转List的类型不匹配错误

问题根源

你代码里的编译错误核心原因:

  • driver.findElement(By.cssSelector("li[class='ui-menu-item'] a")) 仅返回单个WebElement对象
  • 但你试图将其赋值给List<WebElement>类型的变量options,类型不匹配直接触发编译报错

修复方案

把driver.findElement()替换为driver.findElements()——这个方法会返回所有匹配指定选择器的元素集合,类型正好是List<WebElement>,完全适配你的变量类型。

修正后的完整代码

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class AutoSuggestiveDropdown {

    public static void main (String[] args) throws Exception {
        System.setProperty("webdriver.chrome.driver",  "C:\\Users\\HP\\Downloads\\chromedriver_win32\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.get("https://rahulshettyacademy.com/dropdownsPractise/");
        
        driver.findElement(By.id("autosuggest")).sendKeys("ind");
        Thread.sleep(3000L);

        // 替换为findElements()获取元素列表
        List<WebElement> options = driver.findElements(By.cssSelector("li[class='ui-menu-item'] a"));
       
        for(WebElement option : options) {
            if(option.getText().equalsIgnoreCase("India")) {
                option.click();
                break;
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Roshan Suvarna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:50:25