我正在尝试从请求模块的会话中获取Cookie,并将其导入浏览器以获得视觉效果'在发生什么事情。我已经玩过网络驱动程序,但为了方便起见,我正在使用chrome中的编辑这个cookie扩展,这已经派上用场了。
我有类似的东西。
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)]>
我想知道如何设置这个cookie或至少让它序列化。我试图用泡菜倾倒并得到一个
is not JSON serializable
错误。有什么方法可以添加到webdriver或至少以更漂亮的方式打印出来。
谢谢
答案 0 :(得分:1)
您可以使用requests.utils
:
dict_from_cookiejar()
from requests.utils import dict_from_cookiejar
cookies = dict_from_cookiejar(response.cookies)
然后,您可以使用add_cookie()
设置浏览器的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?