Java Selenium webdriver:<;WebElement>;迭代器无法解析为类型
我的问题简而言之: 通过我的selenium web驱动程序,我现在正在测试列表框中的元素列表,同时使用下面的代码,我得到了错误 测试配置:Java Selenium webdriver:<;WebElement>;迭代器无法解析为类型,java,eclipse,selenium-webdriver,automated-tests,Java,Eclipse,Selenium Webdriver,Automated Tests,我的问题简而言之: 通过我的selenium web驱动程序,我现在正在测试列表框中的元素列表,同时使用下面的代码,我得到了错误 测试配置: Mozilla firefox 靛蓝蚀 Selenium Webdriver 2 我测试的场景: 开放网站 选择并显示列表框项目 写入控制台 我的错误: 错误:未解决的编译问题:类型列表不是泛型的;无法使用参数对其进行参数化,也无法将迭代器解析为类型 我的代码: package com.example.tests; 导入java.util.Iterat
- Mozilla firefox
- 靛蓝蚀
- Selenium Webdriver 2
package com.example.tests;
导入java.util.Iterator;
导入java.util.regex.Pattern;
导入java.util.concurrent.TimeUnit;
导入org.junit.*;
导入静态org.junit.Assert.*;
导入静态org.hamcrest.CoreMatchers.*;
导入org.openqa.selenium.WebElement;
导入org.openqa.jetty.html.List;
导入org.openqa.selenium.*;
导入org.openqa.selenium.firefox.FirefoxDriver;
导入org.openqa.selenium.support.ui.Select;
导入com.browsersetup.test.browsersetup;
导入org.testng.*;
导入org.testng.annotations.*;
导入org.testng.annotations.Test;
@抑制警告(“未使用”)
公共类sample2扩展了BrowserSetup{
私有布尔值acceptNextAlert=true;
私有StringBuffer verificationErrors=新StringBuffer();
@课前
public void setUp()引发异常{
驱动程序=新操作驱动程序();
baseUrl=”http://www.ebay.com/";
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
System.out.println(“浏览器=”+驱动程序);
System.out.println(“Base URL=“+baseUrl”);
}
@试验
public void testUntitled()引发异常{
获取(baseUrl+“/”);
睡眠(10000);
WebElement=driver.findElement(By.name(“_sacat”);
选择dd=新选择(元素);
List allOptions=dd.getOptions();
//要浏览列表,我们可以使用迭代器。
//迭代器应与列表的类型相同
//在本例中,这是WebElement。
Iterator it=allOptions.Iterator();
//使用while循环,我们可以迭代直到列表
//下一个WebElement[hasNext()为true]
//列表中的项目数
System.out.println(allOptions.size());
while(it.hasNext()){
//当你说it.next()时,它指向一个特定的
//列表中的WebElement。
WebElement el=it.next();
//按文本检查所需元素并单击它
if(el.getText().equals(“mango”)){
System.out.println(el.getAttribute(“值”);
el.click();
}
}
@下课
public void tearDown()引发异常{
driver.quit();
String verificationErrorString=verificationErrors.toString();
如果(!“”.equals(verificationErrorString)){
失败(verificationErrorString);
}
}
私有布尔值isElementPresent(By){
试一试{
驱动程序。最终删除(通过);
返回true;
}捕获(无接触元素例外e){
返回false;
}
}
私有布尔值isAlertPresent(){
试一试{
driver.switchTo().alert();
返回true;
}捕获(NoAlertPresentException e){
返回false;
}
}
私有字符串closeAlertAndGetItsText(){
试一试{
Alert Alert=驱动程序.switchTo().Alert();
String alertText=alert.getText();
如果(acceptNextAlert){
alert.accept();
}否则{
警惕。解散();
}
返回文本;
}最后{
acceptNextAlert=true;
}
}
}
我不知道哪里出了问题,指引我哪里出了问题
提前感谢请参阅
org.openqa.jetty.html.List的javadocs
:
以及java.util.List
中的一个:
您使用的那个不支持泛型(如错误所示)
您案例中的问题似乎是以下问题:
import org.openqa.jetty.html.List;
尝试将其替换为:
import java.util.List;
有关更多想法,请参见类似问题: