Уведомления

Группа в Telegram: @pythonsu

#1 Март 4, 2014 18:01:55

AndreyRaspopov
Зарегистрирован: 2014-03-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

dict->Cookie.BaseCookie

Приветствую всех!
Использую селениум WebDriver для тестирования сайта. В процессе теста беру куку

cookies = browser.get_cookie("session_id")
драйвер куку отдает в виде dict.
Как преобразовать dict в экземпляр класса Cookie.SimpleCookie?
Если попробовать выполнить
cookies1 = Cookie.SimpleCookie()
cookies1.load(cookies)
то выведется ошибка:
 File "/usr/lib/python2.7/Cookie.py", line 458, in set
    raise CookieError("Attempt to set a reserved key: %s" % key)
CookieError: Attempt to set a reserved key: domain
Собственно, почему данный вариант не подходит, и что ещё можно попробовать?

Офлайн

#2 Март 4, 2014 18:42:56

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

dict->Cookie.BaseCookie

cookies1 = Cookie.SimpleCookie()
for k, v in cookies.items():
    cookies1[k] = v

Офлайн

#3 Март 4, 2014 18:55:46

AndreyRaspopov
Зарегистрирован: 2014-03-04
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

dict->Cookie.BaseCookie

Этот вариант я тоже проверил. Высвечивается такая же ошибка.
В кодах (Cookie.py) нашел следующий коммент.
# RFC 2109 lists these attributes as reserved:
# path comment domain
# max-age secure version
#
# For historical reasons, these attributes are also reserved:
# expires
Соответственно это и вызывает ошибку. Я не собираюсь менять существующей куке ничего. я всего лишь хочу создать новую куку и записать туда эти поля.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version