Python Selenium:如何获取 cookie 并将其格式化以在 http 请求中使用

新手上路,请多包涵

我想知道从 selenium webdriver 实例 (chromedriver) 获取 cookie 并将它们转换为可以作为 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 字符串有什么问题。

真诚地感谢您的帮助。

原文由 robert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答
all_cookies=self.driver.get_cookies();
cookies_dict = {}
for cookie in all_cookies:
    cookies_dict[cookie['name']] = cookie['value']
print(cookies_dict)

您可以将这些传递给请求函数。

原文由 Libin Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题