首页 > 解决方案 > selenium add_cookie 需要两个请求

问题描述

我在测试中传递了一个会话登录 cookie:

def test_2_has_session(self):
        """Authenticated user gets admin page"""
        driver = self.driver
        driver.get(BaseTest.base_cms_url)
        self.set_session_cookies(driver)
        driver.get(BaseTest.base_cms_url)
        assert "Site administration" in driver.title

以上工作。但是我可以让它工作的唯一方法是使用那个奇怪的“获取页面,设置cookie,再次获取页面”过程。如果我之前调用我的set_session_cookies()函数(它只是调用driver.add_cookie() driver.get()没有骰子:请求没有通过 cookie,并且测试接收到登录页面响应。如果我在之后调用它,我会得到相同的登录页面响应。只有当我调用该页面,设置 cookie,然后再次调用该页面时,测试才会得到一个登录页面作为响应。

这些文档在解释我为什么需要这样做时并不完全有帮助。我错过了什么?

标签: pythonseleniumcookies

解决方案


推荐阅读