Я пытаюсь прочитать куки из сеанса и сохранить их в файл (я сохраняю их как файл Python Pickle) и использовать его в следующий раз, вместо того, чтобы снова войти в приложение. Это экономит много времени. Я использую Python 2.7.16rc1 и Selen версии веб-драйвера 3.14.1.
Я попытался сохранить файл cookie, полученный из driver.get_cookies()
. Проблема заключается в том, что файлы cookie сохраняются в засоленном объекте с кодировкой Unicode с `u в нем, которая вызывает проблему при чтении и отправке обратно.
Я пытался разобраться с опцией кодировки Unicode, читая значение в списке по одному и применяя кодировку UTF-8, но получая AttributeError: 'dict' object has no attribute 'encode'
Ниже приведен код для записи файлов cookie в файл маринада
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}