我目前正在编写这个函数:
public WebElementList findWebElementList(final By by){
return new WebElementList((List<WebElement>) Proxy.newProxyInstance(this.getClass().getClassLoader(), new Class<?>[] { List.class }, new InvocationHandler() {
// Lazy initialized instance of WebElement
private List<WebElement> webElements;
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
if (webElements == null) {
webElements = findElements(by);
}
return method.invoke(webElements, args);
}
}), driver);
}
它正在从 Object 向 List 抛出未经检查的强制转换。我在 WebElement 周围使用了一个代理,但它没有......所以我相信这是由于 List 是一个泛型类引起的。
有什么办法可以让我在列表周围有一个代理,而不是得到那个未经检查的演员警告?