From 7a8558befc8cb0bd0015b4dc20e6ec7fd99699d1 Mon Sep 17 00:00:00 2001 From: g1879 Date: Tue, 1 Dec 2020 17:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=ADcookies=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=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/config.py | 14 +++++++------- DrissionPage/drission.py | 12 +++++++++--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/DrissionPage/config.py b/DrissionPage/config.py index 5ed4c47..e9de3e5 100644 --- a/DrissionPage/config.py +++ b/DrissionPage/config.py @@ -726,14 +726,14 @@ def _session_options_to_dict(options: Union[dict, SessionOptions, None]) -> Unio def _cookie_to_dict(cookie: Cookie) -> dict: - # cookie_dict = {'name': cookie.name, 'value': str(cookie.value), 'path': cookie.path, 'domain': cookie.domain} - - # if cookie.expires: - # cookie_dict['expiry'] = cookie.expires - - # return cookie_dict + """把Cookie对象转为dict格式""" if isinstance(cookie, Cookie): - return cookie.__dict__ + # return cookie.__dict__ + cookie_dict = {'name': cookie.name, 'value': str(cookie.value), 'path': cookie.path, 'domain': cookie.domain} + + if cookie.expires: + cookie_dict['expiry'] = cookie.expires + elif isinstance(cookie, dict): return cookie else: diff --git a/DrissionPage/drission.py b/DrissionPage/drission.py index 9d06d60..61cbdd3 100644 --- a/DrissionPage/drission.py +++ b/DrissionPage/drission.py @@ -162,7 +162,7 @@ class Drission(object): if isinstance(cookies, (list, tuple, RequestsCookieJar)): cookies = tuple(_cookie_to_dict(cookie) for cookie in cookies) elif isinstance(cookies, str): - cookies = tuple(dict([cookie.split("=", 1)]) for cookie in cookies.split("; ")) + cookies = tuple(dict([cookie.lstrip().split("=", 1)]) for cookie in cookies.split(";")) elif isinstance(cookies, dict): cookies = tuple({'name': cookie, 'value': cookies[cookie]} for cookie in cookies) else: @@ -176,10 +176,16 @@ class Drission(object): if set_driver: self.driver.add_cookie(cookie) - def add_a_cookie(self): + def add_a_cookie(self, + cookie: str, + set_session: bool = False, + set_driver: bool = False): pass - def remove_a_cookie(self): + def remove_a_cookie(self, + name: str, + set_session: bool = False, + set_driver: bool = False): pass def clear_cookies(self):