2016-02-19 2 views
1

Я пытаюсь получить куки-файлы из сеанса с модулем запросов и импортировать их в браузер, чтобы «получить визуальное представление» о том, что происходит. Я играл с webdrivers, но для удобства, я использую Edit this cookie extension in chrome, который вам пригодится.Импорт запросов куки-файлов в браузер

У меня есть что-то вроде этого.

import requests; 
session=requests.Session(); 
session.cookies.clear(); 

url='http://www.mywebsite.com/login/; 

data={'user': 'usernamehere', 
    'password': 'passhere', 
    'auth_token': 'tokenhere' 
}; 
response=session.post(url,data=data); 
print response.cookies 

который возвращает что-то вроде:

<<class 'requests.cookies.RequestsCookieJar'>[Cookie(version=0, name='', value='', port=None, port_specified=False, domain='www.mywebsite.com',..., rest={}, rfc2109=False)]> 

мне было интересно, как я мог установить это печенье или, по крайней мере, получить его сериализации. Я попытался свалить с рассолом и получил

is not JSON serializable 

ошибка. Есть ли способ, который я могу добавить в webdriver или, по крайней мере, распечатать его красивее.

Спасибо

+0

в каком формате вы хотите их ? –

ответ

1

Вы можете использовать dict_from_cookiejar() из requests.utils:

from requests.utils import dict_from_cookiejar 

cookies = dict_from_cookiejar(response.cookies) 

Затем вы можете использовать add_cookie() установить куки в браузере:

driver = webdriver.Chrome() 

# set browser cookies 
for key, value in cookies.items(): 
    driver.add_cookie({'name': key, 'value': value}) # TODO: may be "domain" would also be needed? 
Смежные вопросы