WebDriverからcookieの一覧を取得することはget_cookies()を使用すれば容易に出来るものの、それをrequestsにセットするには一手間が必要でした。
というのも、get_cookiesで取ってくれるデータはcookiejarという型のデータで、そのままではセットする際にエラーが起きてしまいました。
そこで、requestsにはcookiejarからdictに変換出来る関数(cookiejar_from_dict)が用意されているので、それを使ってrequests用のcookieにしてから入れるという方法を学びました。
やり方としては以下のような感じです。
import requests
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://')
session = requests.Session()
for cookie in driver.get_cookies(): // ここではcookiejarの値が取れてきてる
for item in cookie:
if type(cookie[item]) != str:
cookie[item] = str(cookie[item])
session.cookies.update(requests.cookies.cookiejar_from_dict(cookie)) // cookiejar_from_dictを使用してcookieをdict型に変換してからセット
session.get('http://', timeout=10)
以上で、cookieをセット出来るようになりました。











大分ニッチな用途ですが、seleniumでアクセスしつつ、そのcookieを使用してrequestsでAPIにアクセスするなどで活用出来るかと思います。