如何使用Selenium RC保存和恢复所有Cookie?
我正在进行一些复杂的测试,这些测试会为我网站的不同部分创建很多 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
当然可以。你可以看看 getCookie
、getCookieByName
和 createCookie
这几个方法。