Tipo de correspondência:não é possível converter a partir do tipo de elemento de Objeto para Cookie

StackOverflow https://stackoverflow.com//questions/22064271

  •  23-12-2019
  •  | 
  •  

Pergunta

Eu estive tentando encontrar um método para baixar arquivos a partir de sites dentro de Selênio e encontrou uma solução aqui

Problema é que quando eu copiar esse exemplo e colá-la no eclipse, recebo um erro em uma linha de leitura:-

Type mismatch: cannot convert from element type Object to Cookie

A seção em questão é:-

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

E é chamado de seção de leitura:-

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

Eu não tenho nenhuma idéia de como resolver este problema, como eu não escrever qualquer deste código e não estou familiarizado, além do lançamento original era bem mais de um ano atrás, então eu estou supondo que não está mais sendo monitorado/actualizado.

Alguém pode me ajudar em tudo, a perceber isso?

Qualquer ajuda apreciada.

Foi útil?

Solução

Isso é porque você está usando o tipo de matérias Set como parâmetro.Alterá-lo para Set<Cookie>.Para um tipo de matérias Set, o iterador que você recebe é apenas Iterator.E é next() método irá dar-lhe um elemento do tipo Object.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top