mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
完善cookies方面功能,未完成
This commit is contained in:
parent
4c392aa707
commit
c62b28d50e
@ -156,24 +156,30 @@ class Drission(object):
|
|||||||
self._ensure_add_cookie(cookie)
|
self._ensure_add_cookie(cookie)
|
||||||
|
|
||||||
def set_cookies(self,
|
def set_cookies(self,
|
||||||
cookies: Union[RequestsCookieJar, list, tuple],
|
cookies: Union[RequestsCookieJar, list, tuple, str],
|
||||||
set_session: bool = False,
|
set_session: bool = False,
|
||||||
set_driver: bool = False):
|
set_driver: bool = False) -> None:
|
||||||
if isinstance(cookies, (list, tuple, RequestsCookieJar)):
|
if isinstance(cookies, (list, tuple, RequestsCookieJar)):
|
||||||
cookies = tuple(_cookie_to_dict(cookie) for cookie in cookies)
|
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("; "))
|
||||||
|
elif isinstance(cookies, dict):
|
||||||
|
cookies = tuple({'name': cookie, 'value': cookies[cookie]} for cookie in cookies)
|
||||||
else:
|
else:
|
||||||
raise TypeError
|
raise TypeError
|
||||||
|
|
||||||
|
for cookie in cookies:
|
||||||
if set_session:
|
if set_session:
|
||||||
pass
|
kwargs = {x: cookie[x] for x in cookie if x not in ('name', 'value')}
|
||||||
|
self.session.cookies.set(cookie['name'], cookie['value'], **kwargs)
|
||||||
|
|
||||||
if set_driver:
|
if set_driver:
|
||||||
|
self.driver.add_cookie(cookie)
|
||||||
|
|
||||||
|
def add_a_cookie(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def add_cookie(self):
|
def remove_a_cookie(self):
|
||||||
pass
|
|
||||||
|
|
||||||
def remove_cookie(self):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def clear_cookies(self):
|
def clear_cookies(self):
|
||||||
@ -187,14 +193,7 @@ class Drission(object):
|
|||||||
'cert', 'stream', 'trust_env', 'max_redirects'] # , 'adapters'
|
'cert', 'stream', 'trust_env', 'max_redirects'] # , 'adapters'
|
||||||
|
|
||||||
if 'cookies' in data:
|
if 'cookies' in data:
|
||||||
if isinstance(data['cookies'], (list, tuple)):
|
self.set_cookies(data['cookies'], set_driver=False)
|
||||||
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:
|
for i in attrs:
|
||||||
if i in data:
|
if i in data:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user