类型不匹配:无法从元素类型Object转换为Cookie

时间:2014-02-27 09:30:40

标签: java type-mismatch

我一直在努力寻找一种方法从Selenium中的网站下载文件并找到解决方案here

麻烦的是当我复制这个例子并将其粘贴到eclipse中时,我在一行读取错误: -

Type mismatch: cannot convert from element type Object to Cookie

有问题的部分是: -

private BasicCookieStore mimicCookieState(Set seleniumCookieSet) {
        BasicCookieStore mimicWebDriverCookieStore = new BasicCookieStore();
        for (Cookie seleniumCookie : seleniumCookieSet) {    <<---This is the problem line
            BasicClientCookie duplicateCookie = new BasicClientCookie(seleniumCookie.getName(), seleniumCookie.getValue());
            duplicateCookie.setDomain(seleniumCookie.getDomain());
            duplicateCookie.setSecure(seleniumCookie.isSecure());
            duplicateCookie.setExpiryDate(seleniumCookie.getExpiry());
            duplicateCookie.setPath(seleniumCookie.getPath());
            mimicWebDriverCookieStore.addCookie(duplicateCookie);
        }
        return mimicWebDriverCookieStore;
    }

从阅读部分调用: -

LOG.info("Mimic WebDriver cookie state: " + this.mimicWebDriverCookieState);
if (this.mimicWebDriverCookieState) {
    localContext.setAttribute(ClientContext.COOKIE_STORE, mimicCookieState(this.driver.manage().getCookies()));
}

我不知道如何解决这个问题,因为我没有写任何这个代码并且不是那么熟悉,加上原始帖子已经超过一年了所以我猜测不再被监控/更新。

任何人都可以帮我解决这个问题吗?

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:4)

这是因为您使用原始类型Set作为参数。将其更改为Set<Cookie>。对于原始类型Set,您获得的迭代器只是Iterator。它的next()方法会为您提供Object类型的元素。