我一直在努力寻找一种方法从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()));
}
我不知道如何解决这个问题,因为我没有写任何这个代码并且不是那么熟悉,加上原始帖子已经超过一年了所以我猜测不再被监控/更新。
任何人都可以帮我解决这个问题吗?
任何帮助都非常感激。
答案 0 :(得分:4)
这是因为您使用原始类型Set
作为参数。将其更改为Set<Cookie>
。对于原始类型Set
,您获得的迭代器只是Iterator
。它的next()
方法会为您提供Object
类型的元素。