【发布时间】:2019-04-10 05:28:28
【问题描述】:
我正在尝试从会话中读取 cookie 并将其保存在文件中(我将其保存为 python pickle 文件)并下次使用它,而不是再次登录应用程序。它节省了很多时间。我正在使用 Python 2.7.16rc1 和 selenium Web 驱动程序版本 3.14.1。
我尝试保存从driver.get_cookies() 获得的cookie。问题是 cookie 保存在使用 Unicode 编码的腌制对象中,其中包含 `u,这会在读取它并将其发送回时导致问题。
我试图通过一一读取列表中的值并应用 UTF-8 编码但得到 AttributeError: 'dict' object has no attribute 'encode'
下面给出的是将cookies写入pickle文件的代码
pickle.dump(driver.get_cookies(), open("cookie.fkle","w"))
下面的代码读取它
import pickle
cookies = pickle.load(open("cookie.fkle", "rb"))
for cookie in cookies:
print cookie
我希望输出如下
{domain': google.com', name': lang', value': en', expiry': 1555427577, path': /', httpOnly': False, secure': False}
{domain': .google.com', name': _ga', value': GA1.2.1834438095.1554822783', expiry': 1617894782, path': /', httpOnly': False, secure': False}
{domain': .google.com', name': _gid', value': GA1.2.1839091575.1554822783', expiry': 1554909182, path': /', httpOnly': False, secure': False}
{domain': .google.com', name': _gat_gtag_UA_60214108_5', value': 1', expiry': 1554822842, path': /', httpOnly': False, secure': False}
但我得到的输出是:
{u'domain': u'google.com', u'name': u'lang', u'value': u'en', u'expiry': 1555427577, u'path': u'/', u'httpOnly': False, u'secure': False}
{u'domain': u'.google.com', u'name': u'_ga', u'value': u'GA1.2.1834438095.1554822783', u'expiry': 1617894782, u'path': u'/', u'httpOnly': False, u'secure': False}
{u'domain': u'.google.com', u'name': u'_gid', u'value': u'GA1.2.1839091575.1554822783', u'expiry': 1554909182, u'path': u'/', u'httpOnly': False, u'secure': False}
{u'domain': u'.google.com', u'name': u'_gat_gtag_UA_60214108_5', u'value': u'1', u'expiry': 1554822842, u'path': u'/', u'httpOnly': False, u'secure': False}
【问题讨论】:
标签: python python-2.7 selenium-webdriver