seleniumbase 4.39.1__py3-none-any.whl → 4.39.3__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.39.1"
2
+ __version__ = "4.39.3"
@@ -2169,6 +2169,9 @@ def _set_chrome_options(
2169
2169
  prefs["profile.default_content_setting_values.automatic_downloads"] = 1
2170
2170
  if locale_code:
2171
2171
  prefs["intl.accept_languages"] = locale_code
2172
+ sb_config._cdp_locale = locale_code
2173
+ else:
2174
+ sb_config._cdp_locale = None
2172
2175
  if block_images:
2173
2176
  prefs["profile.managed_default_content_settings.images"] = 2
2174
2177
  if disable_cookies:
@@ -1,5 +1,6 @@
1
1
  """Add new methods to extend the driver"""
2
2
  from contextlib import suppress
3
+ from selenium.webdriver.remote.webdriver import WebDriver
3
4
  from selenium.webdriver.remote.webelement import WebElement
4
5
  from seleniumbase.config import settings
5
6
  from seleniumbase.fixtures import js_utils
@@ -8,7 +9,7 @@ from seleniumbase.fixtures import page_utils
8
9
  from seleniumbase.fixtures import shared_utils
9
10
 
10
11
 
11
- class DriverMethods():
12
+ class DriverMethods(WebDriver):
12
13
  def __init__(self, driver):
13
14
  self.driver = driver
14
15
 
@@ -4592,9 +4592,9 @@ class BaseCase(unittest.TestCase):
4592
4592
  Loads the page cookies from the "saved_cookies" folder.
4593
4593
  Usage for setting expiry:
4594
4594
  If expiry == 0 or False: Delete "expiry".
4595
+ If expiry is True: Set "expiry" to 24 hours in the future.
4595
4596
  If expiry == -1 (or < 0): Do not modify "expiry".
4596
4597
  If expiry > 0: Set "expiry" to expiry minutes in the future.
4597
- If expiry == True: Set "expiry" to 24 hours in the future.
4598
4598
  """
4599
4599
  cookies = self.get_saved_cookies(name)
4600
4600
  self.wait_for_ready_state_complete()
@@ -4606,12 +4606,12 @@ class BaseCase(unittest.TestCase):
4606
4606
  cookie["domain"] = trim_origin
4607
4607
  if "expiry" in cookie and (not expiry or expiry == 0):
4608
4608
  del cookie["expiry"]
4609
+ elif expiry is True:
4610
+ cookie["expiry"] = int(time.time()) + 86400
4609
4611
  elif isinstance(expiry, (int, float)) and expiry < 0:
4610
4612
  pass
4611
4613
  elif isinstance(expiry, (int, float)) and expiry > 0:
4612
4614
  cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
4613
- elif expiry:
4614
- cookie["expiry"] = int(time.time()) + 86400
4615
4615
  self.driver.add_cookie(cookie)
4616
4616
 
4617
4617
  def delete_all_cookies(self):
@@ -4693,9 +4693,9 @@ class BaseCase(unittest.TestCase):
4693
4693
  self.add_cookie({'name': 'foo', 'value': 'bar', 'sameSite': 'Strict'})
4694
4694
  Usage for setting expiry:
4695
4695
  If expiry == 0 or False: Delete "expiry".
4696
+ If expiry is True: Set "expiry" to 24 hours in the future.
4696
4697
  If expiry == -1 (or < 0): Do not modify "expiry".
4697
4698
  If expiry > 0: Set "expiry" to expiry minutes in the future.
4698
- If expiry == True: Set "expiry" to 24 hours in the future.
4699
4699
  """
4700
4700
  self.__check_scope()
4701
4701
  self._check_browser()
@@ -4707,21 +4707,21 @@ class BaseCase(unittest.TestCase):
4707
4707
  cookie["domain"] = trim_origin
4708
4708
  if "expiry" in cookie and (not expiry or expiry == 0):
4709
4709
  del cookie["expiry"]
4710
+ elif expiry is True:
4711
+ cookie["expiry"] = int(time.time()) + 86400
4710
4712
  elif isinstance(expiry, (int, float)) and expiry < 0:
4711
4713
  pass
4712
4714
  elif isinstance(expiry, (int, float)) and expiry > 0:
4713
4715
  cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
4714
- elif expiry:
4715
- cookie["expiry"] = int(time.time()) + 86400
4716
4716
  self.driver.add_cookie(cookie_dict)
4717
4717
 
4718
4718
  def add_cookies(self, cookies, expiry=False):
4719
4719
  """
4720
4720
  Usage for setting expiry:
4721
4721
  If expiry == 0 or False: Delete "expiry".
4722
+ If expiry is True: Set "expiry" to 24 hours in the future.
4722
4723
  If expiry == -1 (or < 0): Do not modify "expiry".
4723
4724
  If expiry > 0: Set "expiry" to expiry minutes in the future.
4724
- If expiry == True: Set "expiry" to 24 hours in the future.
4725
4725
  """
4726
4726
  self.__check_scope()
4727
4727
  self._check_browser()
@@ -4733,12 +4733,12 @@ class BaseCase(unittest.TestCase):
4733
4733
  cookie["domain"] = trim_origin
4734
4734
  if "expiry" in cookie and (not expiry or expiry == 0):
4735
4735
  del cookie["expiry"]
4736
+ elif expiry is True:
4737
+ cookie["expiry"] = int(time.time()) + 86400
4736
4738
  elif isinstance(expiry, (int, float)) and expiry < 0:
4737
4739
  pass
4738
4740
  elif isinstance(expiry, (int, float)) and expiry > 0:
4739
4741
  cookie["expiry"] = int(time.time()) + int(expiry * 60.0)
4740
- elif expiry:
4741
- cookie["expiry"] = int(time.time()) + 86400
4742
4742
  self.driver.add_cookie(cookie)
4743
4743
 
4744
4744
  def __set_esc_skip(self):
@@ -38,6 +38,7 @@ driver.get("https://google.com/ncr")
38
38
  """
39
39
  import os
40
40
  import sys
41
+ from seleniumbase.core import sb_driver
41
42
 
42
43
 
43
44
  class DriverContext():
@@ -139,7 +140,7 @@ def Driver(
139
140
  pls=None, # Shortcut / Duplicate of "page_load_strategy".
140
141
  cft=None, # Use "Chrome for Testing"
141
142
  chs=None, # Use "Chrome-Headless-Shell"
142
- ):
143
+ ) -> sb_driver.DriverMethods:
143
144
  """
144
145
  * SeleniumBase Driver as a Python Context Manager or a returnable object. *
145
146
 
@@ -2160,7 +2160,12 @@ def _perform_pytest_unconfigure_(config):
2160
2160
  from seleniumbase.core import proxy_helper
2161
2161
 
2162
2162
  reporter = config.pluginmanager.get_plugin("terminalreporter")
2163
- duration = time.time() - reporter._sessionstarttime
2163
+ start_time = None
2164
+ if hasattr(reporter, "_sessionstarttime"):
2165
+ start_time = reporter._sessionstarttime # (pytest < 8.4.0)
2166
+ else:
2167
+ start_time = reporter._session_start.time # (pytest >= 8.4.0)
2168
+ duration = time.time() - start_time
2164
2169
  if (
2165
2170
  (hasattr(sb_config, "multi_proxy") and not sb_config.multi_proxy)
2166
2171
  or not hasattr(sb_config, "multi_proxy")
@@ -2497,7 +2502,11 @@ def pytest_unconfigure(config):
2497
2502
  if "--co" in sys_argv or "--collect-only" in sys_argv:
2498
2503
  return
2499
2504
  reporter = config.pluginmanager.get_plugin("terminalreporter")
2500
- if not hasattr(reporter, "_sessionstarttime"):
2505
+ if (
2506
+ not hasattr(reporter, "_sessionstarttime")
2507
+ and not hasattr(reporter, "_session_start")
2508
+ and not hasattr(reporter._session_start, "time")
2509
+ ):
2501
2510
  return
2502
2511
  if hasattr(sb_config, "_multithreaded") and sb_config._multithreaded:
2503
2512
  import fasteners
@@ -24,6 +24,8 @@ with SB(uc=True) as sb: # Many args! Eg. SB(browser="edge")
24
24
  #########################################
25
25
  """
26
26
  from contextlib import contextmanager, suppress
27
+ from typing import Any, Generator
28
+ from seleniumbase import BaseCase
27
29
 
28
30
 
29
31
  @contextmanager # Usage: -> ``with SB() as sb:``
@@ -133,7 +135,7 @@ def SB(
133
135
  highlights=None, # Number of highlight animations for Demo Mode actions.
134
136
  interval=None, # SECONDS (Autoplay interval for SB Slides & Tour steps.)
135
137
  time_limit=None, # SECONDS (Safely fail tests that exceed the time limit.)
136
- ):
138
+ ) -> Generator[BaseCase, Any, None]:
137
139
  """
138
140
  * SeleniumBase as a Python Context Manager *
139
141
 
@@ -263,7 +265,6 @@ def SB(
263
265
  import sys
264
266
  import time
265
267
  import traceback
266
- from seleniumbase import BaseCase
267
268
  from seleniumbase import config as sb_config
268
269
  from seleniumbase.config import settings
269
270
  from seleniumbase.fixtures import constants
@@ -323,6 +323,8 @@ class Browser:
323
323
  _cdp_locale = kwargs["locale"]
324
324
  elif "lang" in kwargs:
325
325
  _cdp_locale = kwargs["lang"]
326
+ elif "locale_code" in kwargs:
327
+ _cdp_locale = kwargs["locale_code"]
326
328
  if "platform" in kwargs:
327
329
  _cdp_platform = kwargs["platform"]
328
330
  elif "plat" in kwargs:
@@ -336,6 +338,8 @@ class Browser:
336
338
  if _cdp_timezone:
337
339
  await connection.send(cdp.page.navigate("about:blank"))
338
340
  await connection.set_timezone(_cdp_timezone)
341
+ if _cdp_locale:
342
+ await connection.set_locale(_cdp_locale)
339
343
  if _cdp_user_agent or _cdp_locale or _cdp_platform:
340
344
  await connection.send(cdp.page.navigate("about:blank"))
341
345
  await connection.set_user_agent(
@@ -370,8 +370,6 @@ async def start(
370
370
  sb_config._cdp_locale = kwargs["locale"]
371
371
  elif "locale_code" in kwargs:
372
372
  sb_config._cdp_locale = kwargs["locale_code"]
373
- else:
374
- sb_config._cdp_locale = None
375
373
  if tzone:
376
374
  sb_config._cdp_timezone = tzone
377
375
  elif "timezone" in kwargs:
@@ -347,6 +347,7 @@ class Connection(metaclass=CantTouchThis):
347
347
  async def set_locale(self, locale: Optional[str] = None):
348
348
  """Sets the Language Locale code via set_user_agent_override."""
349
349
  await self.set_user_agent(user_agent="", accept_language=locale)
350
+ await self.send(cdp.emulation.set_locale_override(locale))
350
351
 
351
352
  async def set_timezone(self, timezone: Optional[str] = None):
352
353
  """Sets the Timezone via set_timezone_override."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: seleniumbase
3
- Version: 4.39.1
3
+ Version: 4.39.3
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
@@ -63,7 +63,7 @@ Requires-Dist: pip>=25.0.1; python_version < "3.9"
63
63
  Requires-Dist: pip>=25.1.1; python_version >= "3.9"
64
64
  Requires-Dist: packaging>=25.0
65
65
  Requires-Dist: setuptools~=70.2; python_version < "3.10"
66
- Requires-Dist: setuptools>=80.8.0; python_version >= "3.10"
66
+ Requires-Dist: setuptools>=80.9.0; python_version >= "3.10"
67
67
  Requires-Dist: wheel>=0.45.1
68
68
  Requires-Dist: attrs>=25.3.0
69
69
  Requires-Dist: certifi>=2025.4.26
@@ -96,7 +96,7 @@ Requires-Dist: chardet==5.2.0
96
96
  Requires-Dist: charset-normalizer<4,>=3.4.2
97
97
  Requires-Dist: urllib3<2,>=1.26.20; python_version < "3.10"
98
98
  Requires-Dist: urllib3<2.5.0,>=1.26.20; python_version >= "3.10"
99
- Requires-Dist: requests==2.32.3
99
+ Requires-Dist: requests==2.32.4
100
100
  Requires-Dist: sniffio==1.3.1
101
101
  Requires-Dist: h11==0.16.0
102
102
  Requires-Dist: outcome==1.3.0.post0
@@ -115,7 +115,8 @@ Requires-Dist: execnet==2.1.1
115
115
  Requires-Dist: iniconfig==2.1.0
116
116
  Requires-Dist: pluggy==1.5.0; python_version < "3.9"
117
117
  Requires-Dist: pluggy==1.6.0; python_version >= "3.9"
118
- Requires-Dist: pytest==8.3.5
118
+ Requires-Dist: pytest==8.3.5; python_version < "3.9"
119
+ Requires-Dist: pytest==8.4.0; python_version >= "3.9"
119
120
  Requires-Dist: pytest-html==4.0.2
120
121
  Requires-Dist: pytest-metadata==3.1.1
121
122
  Requires-Dist: pytest-ordering==0.6
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=_WvAjydKqZfTdnZW9LPKkRty-g-lfdUPmLqnZj6ulcs,43013
4
4
  seleniumbase/__init__.py,sha256=JFEY9P5QJqsa1M6ghzLMH2eIPQyh85iglCaQwg8Y8z4,2498
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=bj46m18MZVWgWtHoBUoAWE_nY0f7HF4ab-r22nf_9_E,46
6
+ seleniumbase/__version__.py,sha256=nTUvL9_RRWHzoBJZ-PxE0bdg5Ws2Y35U5sdL7LXHfRU,46
7
7
  seleniumbase/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  seleniumbase/behave/behave_helper.py,sha256=elkl8P9eLulRAioLstE9baYNM9N_PHBmAOcajX-pH_Y,24198
9
9
  seleniumbase/behave/behave_sb.py,sha256=bbbfa8ID6nMnmrVJ7G-014uOj5PE4B8IROZB2WXSQ8I,59172
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
36
36
  seleniumbase/console_scripts/sb_recorder.py,sha256=DH-n2fN7N9qyHMl7wjtn8MiliBgfw-1kwgmfg1GUuhk,10772
37
37
  seleniumbase/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  seleniumbase/core/application_manager.py,sha256=e_0sjtI8cjY5BNyZj1QBR0j6_oCScxGmSXYEpcYwuZE,576
39
- seleniumbase/core/browser_launcher.py,sha256=WD-m3IOJ2spaYelEn29bTpAOYUs9mIlCBIg7m7MZrII,242804
39
+ seleniumbase/core/browser_launcher.py,sha256=EwMup2zhgUGslHsjoeMPbKSD5-W92M2hKO6RiNqL06Q,242895
40
40
  seleniumbase/core/capabilities_parser.py,sha256=meIS2uHapTCq2ldfNAToC7r0cKmZDRXuYNKExM1GHDY,6038
41
41
  seleniumbase/core/colored_traceback.py,sha256=DrRWfg7XEnKcgY59Xj7Jdk09H-XqHYBSUpB-DiZt6iY,2020
42
42
  seleniumbase/core/create_db_tables.sql,sha256=VWPtrdiW_HQ6yETHjqTu-VIrTwvd8I8o1NfBeaVSHpU,972
@@ -51,7 +51,7 @@ seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUO
51
51
  seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
52
52
  seleniumbase/core/s3_manager.py,sha256=z_4qx2jI_gtK5r3niGXgEOBpfMUicUCOciowai50MP4,3529
53
53
  seleniumbase/core/sb_cdp.py,sha256=zgkVXOhwf94NGdsUO0eM8yVUS3s5FzSuAPJNsz3lrZo,86452
54
- seleniumbase/core/sb_driver.py,sha256=yvTDRblBzG6bDX7XcLiAA6QcBelSJj_HHL_04lcfeeE,13760
54
+ seleniumbase/core/sb_driver.py,sha256=yUdS9_9OXTVaWzp1qY7msvnsvCK8X3FIcxMixb0BuBE,13827
55
55
  seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
56
56
  seleniumbase/core/settings_parser.py,sha256=gqVohHVlE_5L5Cqe2L24uYrRzvoK-saX8E_Df7_-_3I,7609
57
57
  seleniumbase/core/style_sheet.py,sha256=5qYN5GLk4gkwg7nqp3h0XH5YXRijANzKDuEdalzccuw,11714
@@ -65,7 +65,7 @@ seleniumbase/extensions/disable_csp.zip,sha256=5RvomXnm2PdivUVcxTV6jfvD8WhTEsQYH
65
65
  seleniumbase/extensions/recorder.zip,sha256=JEE_FVEvlS63cFQbVLEroIyPSS91nWCDL0MhjVrmIpk,11813
66
66
  seleniumbase/extensions/sbase_ext.zip,sha256=3s1N8zrVaMz8RQEOIoBzC3KDjtmHwVZRvVsX25Odr_s,8175
67
67
  seleniumbase/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- seleniumbase/fixtures/base_case.py,sha256=zlF10aFjJdRUS6nT9ksvcXPdyD7A_mlFyAgEuQkVRj4,727097
68
+ seleniumbase/fixtures/base_case.py,sha256=N9EIcW_YSkmH9N-dS9ksPOu799AOARry_lnSXwwW9oU,727121
69
69
  seleniumbase/fixtures/constants.py,sha256=WMrItuNyKq3XVJ64NluLIRc4gJCxDw8K8qXED0b9S2w,13752
70
70
  seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
71
71
  seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
@@ -86,11 +86,11 @@ seleniumbase/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
86
86
  seleniumbase/plugins/base_plugin.py,sha256=ItLgtaZmu_363iycy8BNX0Do5LyIWGiTMLW6krXM-WQ,14748
87
87
  seleniumbase/plugins/basic_test_info.py,sha256=8ov6n417gPbqqvrlT4zrch7l2XcRt-GF2ny6rR9AMWk,2108
88
88
  seleniumbase/plugins/db_reporting_plugin.py,sha256=En09qUCoojrk9-vbcnsoHdSELoGmag2GDIyu3jTiJas,7331
89
- seleniumbase/plugins/driver_manager.py,sha256=1l4fxISvGV62gfDxp3yfYE2zz4WKJFLE0tGnVZIDG1g,36491
89
+ seleniumbase/plugins/driver_manager.py,sha256=VSYQgDDA2t34gi-3qPkw5Ef9SX8sVQX3RETHOihyKHc,36558
90
90
  seleniumbase/plugins/page_source.py,sha256=loTnXxOj4kxEukuTZEiGyvKBhY3KDVDMnNlHHheTBDE,1889
91
- seleniumbase/plugins/pytest_plugin.py,sha256=952AIyaH-PdmNksoeXjzhXxoc8Z53yV-WPjlrHhp2OM,108382
91
+ seleniumbase/plugins/pytest_plugin.py,sha256=dijsJuCsKo8LmhJ4NvXnYJyUiSFhbGdkzd6a4vy-3DQ,108709
92
92
  seleniumbase/plugins/s3_logging_plugin.py,sha256=WDfertQgGOW_SRJpFMaekYD6vBVW9VO62POtXXy2HCM,2319
93
- seleniumbase/plugins/sb_manager.py,sha256=o1cWTR3ARb9AAa1bljpsmS89lB-pt0TSEVz1lUpzq8U,58018
93
+ seleniumbase/plugins/sb_manager.py,sha256=ulTDorccan06eVYtSqlX26EFKXmS0gCY0huJ67Q5gTY,58082
94
94
  seleniumbase/plugins/screen_shots.py,sha256=1hrXw-hzuZ1BR6Yh7AyWX2ABnvnP73-RCbwdz958gj4,1127
95
95
  seleniumbase/plugins/selenium_plugin.py,sha256=y0eNco8T4KgGLProLPHPLw479QH5lRms4wqwOnTgkSc,60081
96
96
  seleniumbase/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -115,10 +115,10 @@ seleniumbase/undetected/reactor.py,sha256=NropaXcO54pzmDq6quR27qPJxab6636H7LRAaq
115
115
  seleniumbase/undetected/webelement.py,sha256=OOpUYbEiOG52KsYYyuDW9tYLdA2SMnukvwQHUdPVn9E,1389
116
116
  seleniumbase/undetected/cdp_driver/__init__.py,sha256=Ga9alwuaZZy4_XOShc0HjgFnNqpPdrcbjAicz5gE7a4,215
117
117
  seleniumbase/undetected/cdp_driver/_contradict.py,sha256=lP4b0h5quAy573ETn_TBbYV889cL1AuPLVInpJ0ZkiU,3183
118
- seleniumbase/undetected/cdp_driver/browser.py,sha256=EQJNg8RBBg82rJiyyo3BDpZzViqyCrnA-pnLxhpg45g,34382
119
- seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=Pjyfx4NZJ4sjRHxXjZWOvKvgki3RIJx8p4j1tCAjOpE,24868
118
+ seleniumbase/undetected/cdp_driver/browser.py,sha256=5XVzfA6JQqh5q5ShKgSwjebB9n598leKZ4EYfG49bgs,34565
119
+ seleniumbase/undetected/cdp_driver/cdp_util.py,sha256=_DoF4EE1osbzSb3do-sIrMnL_Gse2S2vs3NUAuhGSAI,24819
120
120
  seleniumbase/undetected/cdp_driver/config.py,sha256=4-nUkEf7JSuOdFMNd6XmJnFucZrA59-kH1FUMxDcgFU,12561
121
- seleniumbase/undetected/cdp_driver/connection.py,sha256=DbySOlk5mQnbWtz9SOQvEDYp9ws7ZOjz2HRCARXR-dk,25649
121
+ seleniumbase/undetected/cdp_driver/connection.py,sha256=WgZ4QamXSdTzP4Xfgkn8mxv-JFivMG6hqbyHy2_LQlg,25717
122
122
  seleniumbase/undetected/cdp_driver/element.py,sha256=FIC6v7OmumLCT-_vIc3H4oju_oBbaLpWJUJIKm2c_q4,40467
123
123
  seleniumbase/undetected/cdp_driver/tab.py,sha256=t7Ucn0pmm7imwdCM-5KmIJNU2MCeMuIl6G3T2VMrbxU,53170
124
124
  seleniumbase/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -135,9 +135,9 @@ seleniumbase/utilities/selenium_grid/start-grid-hub.bat,sha256=Ftq-GrAKRYH2ssDPr
135
135
  seleniumbase/utilities/selenium_grid/start-grid-hub.sh,sha256=KADv0RUHONLL2_I443QFK8PryBpDmKn5Gy0s4o0vDSM,106
136
136
  seleniumbase/utilities/selenium_ide/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
137
137
  seleniumbase/utilities/selenium_ide/convert_ide.py,sha256=pZFnqEJQEKZPyNFjkLD29s2HPQgCrWW9XJWpCPhWOoM,31691
138
- seleniumbase-4.39.1.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
- seleniumbase-4.39.1.dist-info/METADATA,sha256=mouLj0Wi78TD1BfpXwhjXZ15pNjBBFwDaMXB0bHy5dg,87206
140
- seleniumbase-4.39.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
141
- seleniumbase-4.39.1.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.39.1.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.39.1.dist-info/RECORD,,
138
+ seleniumbase-4.39.3.dist-info/licenses/LICENSE,sha256=BRblZsX7HyPUjQmYTiyWr_e9tzWvmR3R4SFclM2R3W0,1085
139
+ seleniumbase-4.39.3.dist-info/METADATA,sha256=HP5hNOGCz7XYhzmE5bggasu-3gJpnSobclAGUsCGc24,87284
140
+ seleniumbase-4.39.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
141
+ seleniumbase-4.39.3.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.39.3.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.39.3.dist-info/RECORD,,