2

这是我的问题:

我使用 Selenium InternetExplorer 驱动程序通过单击按钮打开一个新的浏览器窗口:

WebElement element = driver.findElement(By.id("btnOpen"));
element.sendKeys("\n");

新的浏览器窗口打开,在此窗口的一个框架中,自动提交表单设置了许多 cookie。

首先,我将焦点转移到新窗口:

driver.switchTo().window(popupHandle);

然后我将焦点更改为通过自动提交表单设置了新 cookie 的框架

driver.switchTo().frame("fm_MainApp");

现在,当我遍历驱动程序中的所有 cookie 时:

Set<Cookie> allCookies = driver.manage().getCookies();

驱动程序没有显示使用自动提交表单设置的 cookie,但我可以清楚地看到 cookie 已使用 httpAnalyzer 在 IE 中设置。

cookie 也是从本地域设置的,而不是第三方设置的。

所以我可以在 IE 中看到 cookie 但驱动程序看不到它们?

4

2 回答 2

2

我认为它与 IE 驱动程序有关,尤其是 IEDriverServer,它无法与 IE cookie 一起正常工作。这是硒问题的缺陷。

于 2013-04-12T09:26:27.910 回答
1

在解决缺陷之前,您可以从所有区域中删除“保护模式”来解决它。所以:

  • 工具 > Internet 选项。

  • 安全选项卡。对于每个区域:

    • 取消选中“启用保护模式”
于 2015-10-27T16:58:21.503 回答