优化cookies相关功能

This commit is contained in:
g1879 2020-12-04 18:03:34 +08:00
parent b9365a9361
commit 99fc7d650a

View File

@ -184,13 +184,23 @@ class Drission(object):
if 'expiry' in cookie:
cookie['expiry'] = int(cookie['expiry'])
cookie_domain = cookie['domain'] if cookie['domain'][0] != '.' else cookie['domain'][1:]
try:
browser_domain = extract(self.driver.current_url).fqdn
except AttributeError:
browser_domain = ''
if not cookie.get('domain', None):
if browser_domain:
url = extract(browser_domain)
cookie_domain = f'{url.domain}.{url.suffix}'
else:
raise ValueError('There is no domain name in the cookie or the browser has not visited a URL.')
cookie['domain'] = cookie_domain
else:
cookie_domain = cookie['domain'] if cookie['domain'][0] != '.' else cookie['domain'][1:]
if cookie_domain not in browser_domain:
self.driver.get(cookie_domain if cookie_domain.startswith('http://')
else f'http://{cookie_domain}')