2014-02-27 67 views
3

我一直试图找到内硒下载从网站上文件的方法,并找到了解决here类型不匹配:不能从元素类型的对象转换为饼干

麻烦的是,当我复制这个例子中,并将其粘日食我得到一个在线阅读的错误: -

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; 
    } 

,并从部分称为REA丁磊: -

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

我不知道如何解决这个问题,我没有写此代码的任何,我不那么熟悉,加上原来的职位是一年多前,所以我猜不再被监视/更新。

谁能帮助我的人搞清楚了这一个呢?

任何帮助非常感谢。

+1

尝试使用通用'设置'(或'设置')而不是原始'Set',和大部分的转换问题,很容易解决自己。原始类型有只为落后的支持,并应在被写在最后7(?)年 – amit

回答

4

那是因为你使用原始类型Set作为参数。将其更改为Set<Cookie>。对于原始类型Set,你得到的迭代器就是Iterator。和它的next()方法会给你Object类型的元素。

+0

这摆脱了验证警告,欢呼声任何代码来避免!一旦Stackoverflow允许我将标记为答案! :) – MorkPork

相关问题