Skip to content

Commit e495530

Browse files
committed
Add more cookie methods
1 parent ef2fed2 commit e495530

File tree

2 files changed

+61
-18
lines changed

2 files changed

+61
-18
lines changed

help_docs/method_summary.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,16 @@ self.delete_all_cookies()
336336

337337
self.delete_saved_cookies(name="cookies.txt")
338338

339+
self.get_saved_cookies(name="cookies.txt")
340+
341+
self.get_cookie(name)
342+
343+
self.get_cookies()
344+
345+
self.add_cookie(cookie_dict)
346+
347+
self.add_cookies(cookies)
348+
339349
self.wait_for_ready_state_complete(timeout=None)
340350

341351
self.wait_for_angularjs(timeout=None)
@@ -596,6 +606,7 @@ self.get_local_storage_item(key)
596606
self.remove_local_storage_item(key)
597607

598608
self.clear_local_storage()
609+
# Duplicates: delete_local_storage()
599610

600611
self.get_local_storage_keys()
601612

@@ -608,6 +619,7 @@ self.get_session_storage_item(key)
608619
self.remove_session_storage_item(key)
609620

610621
self.clear_session_storage()
622+
# Duplicates: delete_session_storage()
611623

612624
self.get_session_storage_keys()
613625

seleniumbase/fixtures/base_case.py

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4308,25 +4308,8 @@ def save_cookies(self, name="cookies.txt"):
43084308

43094309
def load_cookies(self, name="cookies.txt"):
43104310
"""Loads the page cookies from the "saved_cookies" folder."""
4311+
cookies = self.get_saved_cookies(name)
43114312
self.wait_for_ready_state_complete()
4312-
if name.endswith("/"):
4313-
raise Exception("Invalid filename for Cookies!")
4314-
if "/" in name:
4315-
name = name.split("/")[-1]
4316-
if "\\" in name:
4317-
name = name.split("\\")[-1]
4318-
if len(name) < 1:
4319-
raise Exception("Filename for Cookies is too short!")
4320-
if not name.endswith(".txt"):
4321-
name = name + ".txt"
4322-
folder = constants.SavedCookies.STORAGE_FOLDER
4323-
abs_path = os.path.abspath(".")
4324-
file_path = os.path.join(abs_path, folder)
4325-
cookies_file_path = os.path.join(file_path, name)
4326-
json_cookies = None
4327-
with open(cookies_file_path, "r") as f:
4328-
json_cookies = f.read().strip()
4329-
cookies = json.loads(json_cookies)
43304313
for cookie in cookies:
43314314
if "expiry" in cookie:
43324315
del cookie["expiry"]
@@ -4363,6 +4346,46 @@ def delete_saved_cookies(self, name="cookies.txt"):
43634346
if cookies_file_path.endswith(".txt"):
43644347
os.remove(cookies_file_path)
43654348

4349+
def get_saved_cookies(self, name="cookies.txt"):
4350+
"""Gets the page cookies from the "saved_cookies" folder."""
4351+
if name.endswith("/"):
4352+
raise Exception("Invalid filename for Cookies!")
4353+
if "/" in name:
4354+
name = name.split("/")[-1]
4355+
if "\\" in name:
4356+
name = name.split("\\")[-1]
4357+
if len(name) < 1:
4358+
raise Exception("Filename for Cookies is too short!")
4359+
if not name.endswith(".txt"):
4360+
name = name + ".txt"
4361+
folder = constants.SavedCookies.STORAGE_FOLDER
4362+
abs_path = os.path.abspath(".")
4363+
file_path = os.path.join(abs_path, folder)
4364+
cookies_file_path = os.path.join(file_path, name)
4365+
json_cookies = None
4366+
with open(cookies_file_path, "r") as f:
4367+
json_cookies = f.read().strip()
4368+
return json.loads(json_cookies)
4369+
4370+
def get_cookie(self, name):
4371+
return self.driver.get_cookie(name)
4372+
4373+
def get_cookies(self):
4374+
return self.driver.get_cookies()
4375+
4376+
def add_cookie(self, cookie_dict):
4377+
"""Usage examples:
4378+
self.add_cookie({'name': 'foo', 'value': 'bar'})
4379+
self.add_cookie({'name': 'foo', 'value': 'bar', 'path': '/'})
4380+
self.add_cookie({'name': 'foo', 'value': 'bar', 'secure': True})
4381+
self.add_cookie({'name': 'foo', 'value': 'bar', 'sameSite': 'Strict'})
4382+
"""
4383+
self.driver.add_cookie(cookie_dict)
4384+
4385+
def add_cookies(self, cookies):
4386+
for cookie_dict in cookies:
4387+
self.driver.add_cookie(cookie_dict)
4388+
43664389
def wait_for_ready_state_complete(self, timeout=None):
43674390
"""Waits for the "readyState" of the page to be "complete".
43684391
Returns True when the method completes."""
@@ -8718,6 +8741,14 @@ def clear_all_cookies(self):
87188741
"""Same as self.delete_all_cookies()"""
87198742
self.delete_all_cookies()
87208743

8744+
def delete_local_storage(self):
8745+
"""Same as self.clear_local_storage()"""
8746+
self.clear_local_storage()
8747+
8748+
def delete_session_storage(self):
8749+
"""Same as clear_session_storage()"""
8750+
self.clear_session_storage()
8751+
87218752
def assert_no_broken_links(self, multithreaded=True):
87228753
"""Same as self.assert_no_404_errors()"""
87238754
self.assert_no_404_errors(multithreaded=multithreaded)

0 commit comments

Comments
 (0)