如何使用Selenium RC保存和恢复所有Cookie?

2 投票
3 回答
2128 浏览
提问于 2025-04-16 01:24

我正在进行一些复杂的测试,这些测试会为我网站的不同部分创建很多 cookies。

有时候我需要在一个很长的测试中间重启浏览器,而因为 Selenium 服务器不会修改基础的 Firefox 配置文件,所以这些 cookies 就消失了。

有没有办法在关闭浏览器之前把所有的 cookies 保存到一个 Python 变量里,然后在重新启动浏览器后再恢复这些 cookies 呢?

3 个回答

0

我觉得可以通过Chrome开发者协议中的getCookies方法来实现这个功能。

如果你使用Python,可以这样来执行:

cookies = driver.execute_cdp_cmd("Network.getCookies", {})

这段代码应该会返回:

name
value
domain
path
expires
size
httpOnly
secure
...

还有其他一些内容(可以查看Network.Cookie类型对象)

0

我觉得你应该创建一个浏览器的个人资料,然后为这个个人资料启动服务器。这样每次执行的时候,你的所有 cookies(小数据文件)都会被保存或修改。我之前在回答另一个问题时提到过这些细节。请参考一下。 这些内容是针对 Java 客户端和 Firefox 浏览器的,但我相信你可以根据自己的需求来实现。

0

当然可以。你可以看看 getCookiegetCookieByNamecreateCookie 这几个方法。

撰写回答