Java 我试图单击列表中的第一个元素,但编译器每次都抛出异常

Java 我试图单击列表中的第一个元素,但编译器每次都抛出异常,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我需要单击列表中的第一个元素 我还尝试在单击之前对元素进行类型转换,但它也引发了一个异常 wait = new WebDriverWait(driver,60); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList")))); System.out.println("Bug to be cli

我需要单击列表中的第一个元素

我还尝试在单击之前对元素进行类型转换,但它也引发了一个异常

wait = new WebDriverWait(driver,60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList"))));
System.out.println("Bug to be clicked ");
ClientUICommon.sleep(3000);
((WebElement) driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList")))).click();

问题出现在以下代码中:

((WebElement) driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList")))).click();
您可以看到,方法
findElements
不会返回
WebElement
对象。它返回WebElements的列表<确切地说,代码>列表

基本上,您所做的是单击列表,而不是它的元素:

driver.findElements(...).click();
这将引发编译错误,因为
列表
没有方法
click()
。为了单击列表的第一个元素,您应该使用带有如下索引参数的
get
方法:

list.get(0);
以上内容将返回单个
WebElement

完整代码:

List<WebElement> elementList = driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty("BugFRList"))));
WebElement firstElement = elementList.get(0);
firstElement.click();
List elementList=driver.findElements(By.cssSelector(ClientUICommon.getClientUIPaths().getProperty(“BugFRList”));
WebElement firstElement=elementList.get(0);
firstElement.click();

例外说明了什么?