seleniumbase 4.24.12__py3-none-any.whl → 4.25.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  # seleniumbase package
2
- __version__ = "4.24.12"
2
+ __version__ = "4.25.1"
@@ -27,6 +27,7 @@ from seleniumbase.core import download_helper
27
27
  from seleniumbase.core import proxy_helper
28
28
  from seleniumbase.core import sb_driver
29
29
  from seleniumbase.fixtures import constants
30
+ from seleniumbase.fixtures import js_utils
30
31
  from seleniumbase.fixtures import shared_utils
31
32
 
32
33
  urllib3.disable_warnings()
@@ -406,9 +407,9 @@ def uc_open(driver, url):
406
407
  elif ":" not in url:
407
408
  url = "https://" + url
408
409
  if (url.startswith("http:") or url.startswith("https:")):
409
- time.sleep(0.05)
410
410
  with driver:
411
- driver.default_get(url)
411
+ script = 'window.location.href = "%s";' % url
412
+ js_utils.call_me_later(driver, script, 33)
412
413
  else:
413
414
  driver.default_get(url) # The original one
414
415
  return None
@@ -420,7 +421,6 @@ def uc_open_with_tab(driver, url):
420
421
  elif ":" not in url:
421
422
  url = "https://" + url
422
423
  if (url.startswith("http:") or url.startswith("https:")):
423
- time.sleep(0.05)
424
424
  with driver:
425
425
  driver.execute_script('window.open("%s","_blank");' % url)
426
426
  driver.close()
@@ -439,7 +439,9 @@ def uc_open_with_reconnect(driver, url, reconnect_time=None):
439
439
  elif ":" not in url:
440
440
  url = "https://" + url
441
441
  if (url.startswith("http:") or url.startswith("https:")):
442
- driver.execute_script('window.open("%s","_blank");' % url)
442
+ script = 'window.open("%s","_blank");' % url
443
+ js_utils.call_me_later(driver, script, 3)
444
+ time.sleep(0.007)
443
445
  driver.close()
444
446
  driver.reconnect(reconnect_time)
445
447
  driver.switch_to.window(driver.window_handles[-1])
@@ -3878,7 +3880,7 @@ def get_local_driver(
3878
3880
  service=service, options=chrome_options
3879
3881
  )
3880
3882
  return extend_driver(driver)
3881
- except Exception:
3883
+ except Exception as original_exception:
3882
3884
  if is_using_uc(undetectable, browser_name):
3883
3885
  raise
3884
3886
  # Try again if Chrome didn't launch
@@ -3914,8 +3916,11 @@ def get_local_driver(
3914
3916
  log_output=os.devnull,
3915
3917
  service_args=["--disable-build-check"]
3916
3918
  )
3917
- driver = webdriver.Chrome(service=service)
3918
- return extend_driver(driver)
3919
+ try:
3920
+ driver = webdriver.Chrome(service=service)
3921
+ return extend_driver(driver)
3922
+ except Exception:
3923
+ raise original_exception
3919
3924
  else:
3920
3925
  raise Exception(
3921
3926
  "%s is not a valid browser option for this system!" % browser_name
@@ -4308,25 +4308,8 @@ class BaseCase(unittest.TestCase):
4308
4308
 
4309
4309
  def load_cookies(self, name="cookies.txt"):
4310
4310
  """Loads the page cookies from the "saved_cookies" folder."""
4311
+ cookies = self.get_saved_cookies(name)
4311
4312
  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)
4330
4313
  for cookie in cookies:
4331
4314
  if "expiry" in cookie:
4332
4315
  del cookie["expiry"]
@@ -4363,6 +4346,46 @@ class BaseCase(unittest.TestCase):
4363
4346
  if cookies_file_path.endswith(".txt"):
4364
4347
  os.remove(cookies_file_path)
4365
4348
 
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
+
4366
4389
  def wait_for_ready_state_complete(self, timeout=None):
4367
4390
  """Waits for the "readyState" of the page to be "complete".
4368
4391
  Returns True when the method completes."""
@@ -8718,6 +8741,14 @@ class BaseCase(unittest.TestCase):
8718
8741
  """Same as self.delete_all_cookies()"""
8719
8742
  self.delete_all_cookies()
8720
8743
 
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
+
8721
8752
  def assert_no_broken_links(self, multithreaded=True):
8722
8753
  """Same as self.assert_no_404_errors()"""
8723
8754
  self.assert_no_404_errors(multithreaded=multithreaded)
@@ -12,7 +12,10 @@ class WebElement(selenium.webdriver.remote.webelement.WebElement):
12
12
  tag_name=None,
13
13
  ):
14
14
  if driver and selector and by:
15
- if tag_name == "span" and ":contains" not in selector:
15
+ delayed_click = False
16
+ if tag_name == "span" or tag_name == "button" or tag_name == "div":
17
+ delayed_click = True
18
+ if delayed_click and ":contains" not in selector:
16
19
  selector = js_utils.convert_to_css_selector(selector, by)
17
20
  script = 'document.querySelector("%s").click();' % selector
18
21
  js_utils.call_me_later(driver, script, 111)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.24.12
3
+ Version: 4.25.1
4
4
  Summary: A complete web automation framework for end-to-end testing.
5
5
  Home-page: https://github.com/seleniumbase/SeleniumBase
6
6
  Author: Michael Mintz
@@ -70,7 +70,7 @@ Requires-Dist: idna ==3.6
70
70
  Requires-Dist: chardet ==5.2.0
71
71
  Requires-Dist: charset-normalizer ==3.3.2
72
72
  Requires-Dist: requests ==2.31.0
73
- Requires-Dist: pynose ==1.5.0
73
+ Requires-Dist: pynose ==1.5.1
74
74
  Requires-Dist: sniffio ==1.3.1
75
75
  Requires-Dist: h11 ==0.14.0
76
76
  Requires-Dist: outcome ==1.3.0.post0
@@ -114,11 +114,11 @@ Requires-Dist: markdown-it-py ==2.2.0 ; python_version < "3.8"
114
114
  Requires-Dist: urllib3 <2.3.0,>=1.26.18 ; python_version >= "3.10"
115
115
  Requires-Dist: setuptools >=69.2.0 ; python_version >= "3.8"
116
116
  Requires-Dist: wheel >=0.43.0 ; python_version >= "3.8"
117
- Requires-Dist: filelock >=3.13.1 ; python_version >= "3.8"
117
+ Requires-Dist: filelock >=3.13.3 ; python_version >= "3.8"
118
118
  Requires-Dist: platformdirs >=4.2.0 ; python_version >= "3.8"
119
119
  Requires-Dist: typing-extensions >=4.10.0 ; python_version >= "3.8"
120
120
  Requires-Dist: trio ==0.25.0 ; python_version >= "3.8"
121
- Requires-Dist: selenium ==4.18.1 ; python_version >= "3.8"
121
+ Requires-Dist: selenium ==4.19.0 ; python_version >= "3.8"
122
122
  Requires-Dist: pluggy ==1.4.0 ; python_version >= "3.8"
123
123
  Requires-Dist: pytest ==8.1.1 ; python_version >= "3.8"
124
124
  Requires-Dist: pytest-metadata ==3.1.1 ; python_version >= "3.8"
@@ -126,13 +126,14 @@ Requires-Dist: pytest-rerunfailures ==14.0 ; python_version >= "3.8"
126
126
  Requires-Dist: soupsieve ==2.5 ; python_version >= "3.8"
127
127
  Requires-Dist: markdown-it-py ==3.0.0 ; python_version >= "3.8"
128
128
  Provides-Extra: allure
129
- Requires-Dist: allure-pytest ==2.13.3 ; extra == 'allure'
130
- Requires-Dist: allure-python-commons ==2.13.3 ; extra == 'allure'
131
- Requires-Dist: allure-behave ==2.13.3 ; extra == 'allure'
129
+ Requires-Dist: allure-pytest >=2.13.5 ; extra == 'allure'
130
+ Requires-Dist: allure-python-commons >=2.13.5 ; extra == 'allure'
131
+ Requires-Dist: allure-behave >=2.13.5 ; extra == 'allure'
132
132
  Provides-Extra: coverage
133
- Requires-Dist: pytest-cov ==4.1.0 ; extra == 'coverage'
134
133
  Requires-Dist: coverage ==7.2.7 ; (python_version < "3.8") and extra == 'coverage'
135
- Requires-Dist: coverage ==7.4.4 ; (python_version >= "3.8") and extra == 'coverage'
134
+ Requires-Dist: pytest-cov ==4.1.0 ; (python_version < "3.8") and extra == 'coverage'
135
+ Requires-Dist: coverage >=7.4.4 ; (python_version >= "3.8") and extra == 'coverage'
136
+ Requires-Dist: pytest-cov >=5.0.0 ; (python_version >= "3.8") and extra == 'coverage'
136
137
  Provides-Extra: flake8
137
138
  Requires-Dist: mccabe ==0.7.0 ; extra == 'flake8'
138
139
  Requires-Dist: flake8 ==5.0.4 ; (python_version < "3.9") and extra == 'flake8'
@@ -145,7 +146,7 @@ Provides-Extra: ipdb
145
146
  Requires-Dist: ipdb ==0.13.13 ; extra == 'ipdb'
146
147
  Requires-Dist: ipython ==7.34.0 ; extra == 'ipdb'
147
148
  Provides-Extra: pdfminer
148
- Requires-Dist: pycparser ==2.21 ; extra == 'pdfminer'
149
+ Requires-Dist: pycparser ==2.22 ; extra == 'pdfminer'
149
150
  Requires-Dist: pdfminer.six ==20221105 ; (python_version < "3.8") and extra == 'pdfminer'
150
151
  Requires-Dist: cffi ==1.15.1 ; (python_version < "3.8") and extra == 'pdfminer'
151
152
  Requires-Dist: cryptography ==39.0.2 ; (python_version < "3.9") and extra == 'pdfminer'
@@ -154,7 +155,9 @@ Requires-Dist: cffi ==1.16.0 ; (python_version >= "3.8") and extra == 'pdfminer'
154
155
  Requires-Dist: cryptography ==42.0.5 ; (python_version >= "3.9") and extra == 'pdfminer'
155
156
  Provides-Extra: pillow
156
157
  Requires-Dist: Pillow ==9.5.0 ; (python_version < "3.8") and extra == 'pillow'
157
- Requires-Dist: Pillow ==10.2.0 ; (python_version >= "3.8") and extra == 'pillow'
158
+ Requires-Dist: Pillow >=10.3.0 ; (python_version >= "3.8") and extra == 'pillow'
159
+ Provides-Extra: pip-system-certs
160
+ Requires-Dist: pip-system-certs ==4.0 ; (platform_system == "Windows") and extra == 'pip-system-certs'
158
161
  Provides-Extra: proxy
159
162
  Requires-Dist: proxy.py ==2.4.3 ; extra == 'proxy'
160
163
  Provides-Extra: psutil
@@ -177,9 +180,9 @@ Requires-Dist: zstandard ==0.22.0 ; extra == 'selenium-wire'
177
180
 
178
181
  <h1>SeleniumBase</h1>
179
182
 
180
- <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/sb_logo_10t.png" alt="SeleniumBase" title="SeleniumBase" width="266" /></a></p>
183
+ <p align="center"><a href="https://github.com/seleniumbase/SeleniumBase/"><img src="https://seleniumbase.github.io/cdn/img/mac_sb_logo_b.png" alt="SeleniumBase" title="SeleniumBase" width="440" /></a></p>
181
184
 
182
- <p align="center" class="hero__title"><b>All-in-one Browser Automation Framework:<br />Web Crawling / Scraping / Testing / Reporting</b></p>
185
+ <h3 align="center" class="hero__title"><b>Web Automation and Testing with Python have evolved.</b></h3>
183
186
 
184
187
  <p align="center"><a href="https://pypi.python.org/pypi/seleniumbase" target="_blank"><img src="https://img.shields.io/pypi/v/seleniumbase.svg?color=3399EE" alt="PyPI version" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/releases" target="_blank"><img src="https://img.shields.io/github/v/release/seleniumbase/SeleniumBase.svg?color=22AAEE" alt="GitHub version" /></a> <a href="https://seleniumbase.io"><img src="https://img.shields.io/badge/docs-seleniumbase.io-11BBAA.svg" alt="SeleniumBase Docs" /></a> <a href="https://github.com/seleniumbase/SeleniumBase/actions" target="_blank"><img src="https://github.com/seleniumbase/SeleniumBase/workflows/CI%20build/badge.svg" alt="SeleniumBase GitHub Actions" /></a> <a href="https://gitter.im/seleniumbase/SeleniumBase" target="_blank"><img src="https://img.shields.io/gitter/room/seleniumbase/SeleniumBase.svg" alt="Gitter chat"/></a></p>
185
188
 
@@ -225,7 +228,7 @@ Requires-Dist: zstandard ==0.22.0 ; extra == 'selenium-wire'
225
228
 
226
229
  📚 Learn from [**over 200 examples** in the **SeleniumBase/examples/**](https://github.com/seleniumbase/SeleniumBase/tree/master/examples) folder.
227
230
 
228
- <p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which covers login, shopping, and checkout:</p>
231
+ <p align="left">📗 Here's <a href="https://github.com/seleniumbase/SeleniumBase/blob/master/examples/my_first_test.py">my_first_test.py</a>, which tests login, shopping, and checkout:</p>
229
232
 
230
233
  ```bash
231
234
  pytest my_first_test.py
@@ -5,7 +5,7 @@ sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
5
5
  seleniumbase/ReadMe.md,sha256=4nEdto4d0Ch0Zneg0yAC-RBBdqRqPUP0SCo-ze_XDPM,3612
6
6
  seleniumbase/__init__.py,sha256=Mw4ShIWUF2Efjx-JuwUQLWF9nIbxcX-vu9AOGBp32ec,2123
7
7
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
8
- seleniumbase/__version__.py,sha256=FuNHCSUIfCBcrG981EXrZolshvrop3RCSGjpD9rSLYs,47
8
+ seleniumbase/__version__.py,sha256=CiuD5saIyKINWntdxjO6lkLBog7FDVcbytnROOtLbNI,46
9
9
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
11
11
  seleniumbase/behave/behave_sb.py,sha256=rpSKGufjzKeoiTqsr1HChNu1fY68CMirr5mgff--LHs,56291
@@ -40,7 +40,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=yo641b_OdSE0GUauOyxk-QrNeIjYzbRY
40
40
  seleniumbase/console_scripts/sb_recorder.py,sha256=2QQov64Erfnm1hnVleKX-c_llcsO6hhJKKxzcANcix0,10904
41
41
  seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
43
- seleniumbase/core/browser_launcher.py,sha256=Z6bN8sXna7vSyzOtLqK3G5bv0C_PTSxZQiJ_Ggw33Ak,165803
43
+ seleniumbase/core/browser_launcher.py,sha256=xlZqxbA4p3zIpsXGAcJYr-09OtykvdIsDoj6yyOPKYw,166053
44
44
  seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
45
45
  seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
46
46
  seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
@@ -70,7 +70,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
70
70
  seleniumbase/extensions/recorder.zip,sha256=dE3-vt1lsIyMbz3MD0WboizA5KiR3SH2jxAMrC0T_cU,11908
71
71
  seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
72
72
  seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- seleniumbase/fixtures/base_case.py,sha256=3mqQFcrMnT6-AEWuUnCxn4uAX-EAipCJhhiH8I_5XpE,686935
73
+ seleniumbase/fixtures/base_case.py,sha256=bLh4Q9SEVwY0pkNdxa5BFTjIT-v7TUCpLCUblofcTdg,688014
74
74
  seleniumbase/fixtures/constants.py,sha256=Uvr5-Z8ZfiE2-lIqJS1CQ0tkmQ6qJYooCOTo_HMleo4,13348
75
75
  seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
76
76
  seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
@@ -120,7 +120,7 @@ seleniumbase/undetected/dprocess.py,sha256=WWQ_X_-Q7Lfx1m6oxkYHU0eTIc76Jodph4n1Q
120
120
  seleniumbase/undetected/options.py,sha256=SGuz8iqlVPYN7IexNiGauupWF0xP3mqO72-9tgIqeuI,2999
121
121
  seleniumbase/undetected/patcher.py,sha256=u8X3uFBCTJ4XcU09AWpbDyPc-dm2LM-YeuciCp5AEdM,10853
122
122
  seleniumbase/undetected/reactor.py,sha256=UT1pEnGaTPZT7-0-xKROk9_eWDZueGzSUrCksc22nyA,2883
123
- seleniumbase/undetected/webelement.py,sha256=5T-T14G3C5ZS9wXdcvFeHpBgFfdAE10heR1vk0iqF9Y,1098
123
+ seleniumbase/undetected/webelement.py,sha256=RXOxTRZStVgtOASkGGA_0dnhrATMIG4-NVw3dvIqIME,1247
124
124
  seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
125
  seleniumbase/utilities/selenium_grid/ReadMe.md,sha256=Uqvn4KmhaMY_jrhcsxL2WptCukPq1J3Yz-9WenCXEu0,3599
126
126
  seleniumbase/utilities/selenium_grid/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -137,9 +137,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443
137
137
  seleniumbase/utilities/selenium_ide/ReadMe.md,sha256=hznGeuMpkIimqMiZBW-4goIy2ltW4l8X9kb0YSPUQfE,4483
138
138
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
139
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
140
- seleniumbase-4.24.12.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
- seleniumbase-4.24.12.dist-info/METADATA,sha256=hdWtYKRDJO0nlGq2VzdgQumopamp7fVqUTvdUBHqCuw,83872
142
- seleniumbase-4.24.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
143
- seleniumbase-4.24.12.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
- seleniumbase-4.24.12.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
- seleniumbase-4.24.12.dist-info/RECORD,,
140
+ seleniumbase-4.25.1.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
141
+ seleniumbase-4.25.1.dist-info/METADATA,sha256=lavT6oc7TSY_pZlDhtH17-HS0qrFKPR-Z7tZrIdLR3M,84086
142
+ seleniumbase-4.25.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
143
+ seleniumbase-4.25.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
144
+ seleniumbase-4.25.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
145
+ seleniumbase-4.25.1.dist-info/RECORD,,