使用python从IE中检索所有cookie

时间:2015-04-21 14:23:10

标签: python internet-explorer selenium webdriver

我一直用python中的Selenium Webdriver 2.45编写自动化测试。要了解我需要测试的一些内容,我必须检索从站点生成的各种JSESSION cookie。当我在Firefox或Chrome中使用webdrivers get_cookies()功能时,所有需要的cookie都会返回给我。当我用IE11做同样的事情时,我看不到我需要的cookie。有谁知道如何从IE中检索会话cookie?

2 个答案:

答案 0 :(得分:1)

您所描述的内容听起来像几个月前遇到的问题。我的测试在Chrome和Firefox上运行良好,但在IE中没有,问题是cookie。经过调查,我发现我的网站已将其会话cookie设置为HTTP-only。当cookie打开此标志时,浏览器将通过HTTP(S)协议发送cookie,并允许服务器在响应中设置它,但它将使JavaScript无法访问。 (与您的评论一致,您无法在document.cookie中看到所需的Cookie。)当您将Selenium与Chrome或Firefox一起使用时,Selenium可以忽略此标记并从浏览器中获取Cookie无论如何。但是,IE无法做到这一点。

我在测试模式下运行我的网站时关闭了仅HTTP标志,解决了这个问题。我将Django用于我的服务器,因此我必须在其中创建一个包含test_settings.py的特殊SESSION_COOKIE_HTTPONLY = False文件。

答案 1 :(得分:0)

IE和Safari存在一个未解决的问题。这些驱动程序不会返回正确的cookie信息。至少不是域名。见this