Selenium webdriver:列表不是通用的;它不能用参数`<webelement>`类型参数化

时间:2017-07-30 17:48:57

标签: java selenium selenium-webdriver

我试图在List中存储链接,请按照下面的代码

public class frameswitch {

public static void main(String[] args) {

    System.setProperty("webdriver.gecko.driver","C:\\geckodriver\\geckodriver.exe");  
    WebDriver driver=new FirefoxDriver();
    String baseUrl="https://www.udacity.com/";
    driver.get(baseUrl);
    String Title="Udacity - Free Online Courses and Nanodegree Programs";
    List<WebElement> linkElements = driver.findElements(By.tagName("a"));
    }
}

但在使用列表时遇到错误

  

类型列表不是通用的;它不能使用参数<WebElement>类型

进行参数化

2 个答案:

答案 0 :(得分:4)

以下是您的问题的答案:

错误说明全部The type List is not generic; it cannot be parameterized with arguments <WebElement> type。这意味着当您在List中配置List<WebElement> linkElements时,意外地从java.awt.List导入了未定义的java.util.List。因此错误。

以下屏幕截图显示了所有内容:

enter image description here

解决方案:

作为一种解决方案,我使用您自己的代码导入java.awt.List而不是package demo; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Q45402867_tagname_a { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver","C:\\Utility\\BrowserDrivers\\geckodriver.exe"); WebDriver driver=new FirefoxDriver(); String baseUrl="https://www.udacity.com/"; driver.get(baseUrl); String Title="Udacity - Free Online Courses and Nanodegree Programs"; List<WebElement> linkElements = driver.findElements(By.tagName("a")); System.out.println(linkElements.size()); for (WebElement ele:linkElements) System.out.println(ele); } } ,您的代码块运行正常:

86
[[FirefoxDriver: firefox on ANY (ef81931f-9530-4998-8405-6581ab51c86e)] -> tag name: a]
...  84 more ...
[[FirefoxDriver: firefox on ANY (ef81931f-9530-4998-8405-6581ab51c86e)] -> tag name: a]

控制台上的输出是:

s/<old message>/<new message>

如果这回答你的问题,请告诉我。

答案 1 :(得分:0)

检查您从

导入List的导入
java.awt.List

而不是

java.util.List