From a91b22df49c7a427237e5d688f35a8722702815e Mon Sep 17 00:00:00 2001 From: g1879 Date: Thu, 26 Nov 2020 17:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=88=9B=E5=BB=BAsession?= =?UTF-8?q?=E6=97=B6=E5=86=99=E5=85=A5cookies=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E6=9C=AA=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/drission.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/DrissionPage/drission.py b/DrissionPage/drission.py index 38110bb..dd97554 100644 --- a/DrissionPage/drission.py +++ b/DrissionPage/drission.py @@ -9,6 +9,7 @@ from typing import Union from urllib.parse import urlparse from requests import Session +from requests.cookies import RequestsCookieJar from selenium import webdriver from selenium.common.exceptions import WebDriverException, SessionNotCreatedException from selenium.webdriver.chrome.options import Options @@ -158,9 +159,19 @@ class Drission(object): if self._session is None: self._session = Session() - attrs = ['headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', + attrs = ['headers', 'auth', 'proxies', 'hooks', 'params', 'verify', 'cert', 'adapters', 'stream', 'trust_env', 'max_redirects'] + if 'cookies' in data: + if isinstance(data['cookies'], (list, tuple)): + pass + # for cookie in data['cookies']: + # kwargs = {x: cookie[x] for x in cookie if x not in ('name', 'value')} + # self._session.cookies.set(cookie['name'], cookie['value'], **kwargs) + elif isinstance(data['cookies'], RequestsCookieJar): + for cookie in data['cookies']: + self._session.cookies.set_cookie(cookie) + for i in attrs: if i in data: self._session.__setattr__(i, data[i])