pythonselenium:如何获取cookies并对其进行格式化以在http请求中使用

2024-05-23 20:02:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道从selenium webdriver实例(chromedriver)获取cookies并将其转换为可以作为http头传递的cookie字符串的最佳方法。下面是我尝试过的方法:获取selenium提供的每个cookie的字典列表,然后手动添加等号和分号,将其格式化为cookie头中的格式。问题是:这不起作用,在我测试的站点上,它返回500个内部服务器错误,我认为这是由a.错误的请求处理和b.错误的请求,特别是cookie部分引起的。在

cookies_list = driver.get_cookies()
cookieString = ""
for cookie in cookies_list[:-1]:
    cookieString = cookieString + cookie["name"] + "="+cookie["value"]+"; "

cookieString = cookieString  + cookies_list[-1]["name"] + "="+ cookies_list[-1]["value"]

print(cookieString)

有没有一种更简单的方法来完成这项工作和/或我格式化cookie字符串时出现的问题是什么。在

衷心感谢您的帮助。在


Tags: 实例方法字符串namehttp字典valuecookie
2条回答

使用json将cookies转储到可格式化的iterable中:

import json
cookies_list = list(json.dumps(get_cookies))

可以使用pickle将当前cookies保存为python对象。例如:

import pickle
import selenium.webdriver 

driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))

稍后再添加:

^{pr2}$

相关问题 更多 >