seleniumbase 4.32.10__py3-none-any.whl → 4.32.10a2__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.32.10"
2
+ __version__ = "4.32.10a2"
@@ -544,8 +544,6 @@ def uc_open_with_cdp_mode(driver, url=None):
544
544
  )
545
545
  loop.run_until_complete(driver.cdp_base.wait(0))
546
546
 
547
- gui_lock = fasteners.InterProcessLock(constants.MultiBrowser.PYAUTOGUILOCK)
548
-
549
547
  if (
550
548
  "chrome-extension://" in str(driver.cdp_base.main_tab)
551
549
  and len(driver.cdp_base.tabs) >= 2
@@ -555,8 +553,7 @@ def uc_open_with_cdp_mode(driver, url=None):
555
553
 
556
554
  for tab in driver.cdp_base.tabs[-1::-1]:
557
555
  if "chrome-extension://" not in str(tab):
558
- with gui_lock:
559
- loop.run_until_complete(tab.activate())
556
+ loop.run_until_complete(tab.activate())
560
557
  break
561
558
 
562
559
  page_tab = None
@@ -569,20 +566,14 @@ def uc_open_with_cdp_mode(driver, url=None):
569
566
  break
570
567
  if page_tab:
571
568
  loop.run_until_complete(page_tab.aopen())
572
- with gui_lock:
573
- loop.run_until_complete(page_tab.activate())
569
+ loop.run_until_complete(page_tab.activate())
574
570
 
575
571
  loop.run_until_complete(driver.cdp_base.update_targets())
576
572
  page = loop.run_until_complete(driver.cdp_base.get(url))
577
- with gui_lock:
578
- loop.run_until_complete(page.activate())
573
+ loop.run_until_complete(page.activate())
579
574
  loop.run_until_complete(page.wait())
580
575
  if not safe_url:
581
576
  time.sleep(constants.UC.CDP_MODE_OPEN_WAIT)
582
- if IS_WINDOWS:
583
- time.sleep(constants.UC.EXTRA_WINDOWS_WAIT)
584
- else:
585
- time.sleep(0.012)
586
577
  cdp = types.SimpleNamespace()
587
578
  CDPM = sb_cdp.CDPMethods(loop, page, driver)
588
579
  cdp.get = CDPM.get
@@ -618,6 +609,7 @@ def uc_open_with_cdp_mode(driver, url=None):
618
609
  cdp.remove_element = CDPM.remove_element
619
610
  cdp.remove_from_dom = CDPM.remove_from_dom
620
611
  cdp.remove_elements = CDPM.remove_elements
612
+ cdp.scroll_into_view = CDPM.scroll_into_view
621
613
  cdp.send_keys = CDPM.send_keys
622
614
  cdp.press_keys = CDPM.press_keys
623
615
  cdp.type = CDPM.type
@@ -688,12 +680,8 @@ def uc_open_with_cdp_mode(driver, url=None):
688
680
  cdp.assert_title = CDPM.assert_title
689
681
  cdp.assert_text = CDPM.assert_text
690
682
  cdp.assert_exact_text = CDPM.assert_exact_text
691
- cdp.scroll_into_view = CDPM.scroll_into_view
692
- cdp.scroll_to_y = CDPM.scroll_to_y
693
- cdp.scroll_to_top = CDPM.scroll_to_top
694
- cdp.scroll_to_bottom = CDPM.scroll_to_bottom
695
- cdp.scroll_up = CDPM.scroll_up
696
683
  cdp.scroll_down = CDPM.scroll_down
684
+ cdp.scroll_up = CDPM.scroll_up
697
685
  cdp.save_screenshot = CDPM.save_screenshot
698
686
  cdp.page = page # async world
699
687
  cdp.driver = driver.cdp_base # async world
@@ -1257,18 +1245,12 @@ def _uc_gui_click_captcha(
1257
1245
  return
1258
1246
  if x and y:
1259
1247
  sb_config._saved_cf_x_y = (x, y)
1260
- if not __is_cdp_swap_needed(driver):
1261
- if driver.is_element_present(".footer .clearfix .ray-id"):
1262
- driver.uc_open_with_disconnect(
1263
- driver.get_current_url(), 3.8
1264
- )
1265
- else:
1266
- driver.disconnect()
1248
+ if driver.is_element_present(".footer .clearfix .ray-id"):
1249
+ driver.uc_open_with_disconnect(driver.get_current_url(), 3.8)
1250
+ else:
1251
+ driver.disconnect()
1267
1252
  with suppress(Exception):
1268
1253
  _uc_gui_click_x_y(driver, x, y, timeframe=0.32)
1269
- if __is_cdp_swap_needed(driver):
1270
- time.sleep(float(constants.UC.RECONNECT_TIME) / 2.0)
1271
- return
1272
1254
  reconnect_time = (float(constants.UC.RECONNECT_TIME) / 2.0) + 0.6
1273
1255
  if IS_LINUX:
1274
1256
  reconnect_time = constants.UC.RECONNECT_TIME + 0.2
@@ -89,10 +89,6 @@ class CDPMethods():
89
89
  safe_url = False
90
90
  if not safe_url:
91
91
  time.sleep(constants.UC.CDP_MODE_OPEN_WAIT)
92
- if shared_utils.is_windows():
93
- time.sleep(constants.UC.EXTRA_WINDOWS_WAIT)
94
- else:
95
- time.sleep(0.012)
96
92
  self.__slow_mode_pause_if_set()
97
93
  self.loop.run_until_complete(self.page.wait())
98
94
 
@@ -582,6 +578,9 @@ class CDPMethods():
582
578
  with suppress(Exception):
583
579
  self.loop.run_until_complete(self.page.evaluate(js_code))
584
580
 
581
+ def scroll_into_view(self, selector):
582
+ self.find_element(selector).scroll_into_view()
583
+
585
584
  def send_keys(self, selector, text, timeout=settings.SMALL_TIMEOUT):
586
585
  self.__slow_mode_pause_if_set()
587
586
  element = self.select(selector, timeout=timeout)
@@ -1522,36 +1521,15 @@ class CDPMethods():
1522
1521
  % (text, element.text_all, selector)
1523
1522
  )
1524
1523
 
1525
- def scroll_into_view(self, selector):
1526
- self.find_element(selector).scroll_into_view()
1527
- self.loop.run_until_complete(self.page.wait())
1528
-
1529
- def scroll_to_y(self, y):
1530
- y = int(y)
1531
- js_code = "window.scrollTo(0, %s);" % y
1532
- with suppress(Exception):
1533
- self.loop.run_until_complete(self.page.evaluate(js_code))
1534
- self.loop.run_until_complete(self.page.wait())
1535
-
1536
- def scroll_to_top(self):
1537
- js_code = "window.scrollTo(0, 0);"
1538
- with suppress(Exception):
1539
- self.loop.run_until_complete(self.page.evaluate(js_code))
1540
- self.loop.run_until_complete(self.page.wait())
1541
-
1542
- def scroll_to_bottom(self):
1543
- js_code = "window.scrollTo(0, 10000);"
1544
- with suppress(Exception):
1545
- self.loop.run_until_complete(self.page.evaluate(js_code))
1546
- self.loop.run_until_complete(self.page.wait())
1524
+ def scroll_down(self, amount=25):
1525
+ self.loop.run_until_complete(
1526
+ self.page.scroll_down(amount)
1527
+ )
1547
1528
 
1548
1529
  def scroll_up(self, amount=25):
1549
- self.loop.run_until_complete(self.page.scroll_up(amount))
1550
- self.loop.run_until_complete(self.page.wait())
1551
-
1552
- def scroll_down(self, amount=25):
1553
- self.loop.run_until_complete(self.page.scroll_down(amount))
1554
- self.loop.run_until_complete(self.page.wait())
1530
+ self.loop.run_until_complete(
1531
+ self.page.scroll_up(amount)
1532
+ )
1555
1533
 
1556
1534
  def save_screenshot(self, name, folder=None, selector=None):
1557
1535
  filename = name
@@ -249,11 +249,8 @@ class DriverMethods():
249
249
  selector = kwargs["selector"]
250
250
  else:
251
251
  selector = args[0]
252
- if ":contains(" not in selector:
253
- self.driver.cdp.highlight(selector)
254
- return
255
- else:
256
- self.driver.connect()
252
+ self.driver.cdp.highlight(selector)
253
+ return
257
254
  if "scroll" in kwargs:
258
255
  kwargs.pop("scroll")
259
256
  w_args = kwargs.copy()
@@ -6144,9 +6144,6 @@ class BaseCase(unittest.TestCase):
6144
6144
  original_selector = selector
6145
6145
  original_by = by
6146
6146
  selector, by = self.__recalculate_selector(selector, by)
6147
- if self.__is_cdp_swap_needed() and ":contains(" not in selector:
6148
- self.cdp.scroll_into_view(selector)
6149
- return
6150
6147
  element = self.wait_for_element_visible(
6151
6148
  original_selector, by=original_by, timeout=timeout
6152
6149
  )
@@ -6193,36 +6190,24 @@ class BaseCase(unittest.TestCase):
6193
6190
  def scroll_to_top(self):
6194
6191
  """Scroll to the top of the page."""
6195
6192
  self.__check_scope()
6196
- if self.__is_cdp_swap_needed():
6197
- self.cdp.scroll_to_top()
6198
- return
6199
6193
  scroll_script = "window.scrollTo(0, 0);"
6200
- with suppress(Exception):
6194
+ try:
6201
6195
  self.execute_script(scroll_script)
6202
6196
  time.sleep(0.012)
6197
+ return True
6198
+ except Exception:
6199
+ return False
6203
6200
 
6204
6201
  def scroll_to_bottom(self):
6205
6202
  """Scroll to the bottom of the page."""
6206
6203
  self.__check_scope()
6207
- if self.__is_cdp_swap_needed():
6208
- self.cdp.scroll_to_bottom()
6209
- return
6210
6204
  scroll_script = "window.scrollTo(0, 10000);"
6211
- with suppress(Exception):
6212
- self.execute_script(scroll_script)
6213
- time.sleep(0.012)
6214
-
6215
- def scroll_to_y(self, y):
6216
- """Scroll to y position on the page."""
6217
- self.__check_scope()
6218
- y = int(y)
6219
- if self.__is_cdp_swap_needed():
6220
- self.cdp.scroll_to_y(y)
6221
- return
6222
- scroll_script = "window.scrollTo(0, %s);" % y
6223
- with suppress(Exception):
6205
+ try:
6224
6206
  self.execute_script(scroll_script)
6225
6207
  time.sleep(0.012)
6208
+ return True
6209
+ except Exception:
6210
+ return False
6226
6211
 
6227
6212
  def click_xpath(self, xpath):
6228
6213
  """Technically, self.click() automatically detects xpath selectors,
@@ -376,7 +376,6 @@ class Mobile:
376
376
  class UC:
377
377
  RECONNECT_TIME = 2.4 # Seconds
378
378
  CDP_MODE_OPEN_WAIT = 0.9 # Seconds
379
- EXTRA_WINDOWS_WAIT = 0.2 # Seconds
380
379
 
381
380
 
382
381
  class ValidBrowsers:
@@ -10,7 +10,6 @@ from seleniumbase import config as sb_config
10
10
  from seleniumbase.config import settings
11
11
  from seleniumbase.fixtures import constants
12
12
  from seleniumbase.fixtures import css_to_xpath
13
- from seleniumbase.fixtures import shared_utils
14
13
  from seleniumbase.fixtures import xpath_to_css
15
14
 
16
15
 
@@ -25,6 +24,9 @@ def wait_for_ready_state_complete(driver, timeout=settings.LARGE_TIMEOUT):
25
24
  (Previously, tests would fail immediately if exceeding the timeout.)"""
26
25
  if hasattr(settings, "SKIP_JS_WAITS") and settings.SKIP_JS_WAITS:
27
26
  return
27
+ if sb_config.time_limit and not sb_config.recorder_mode:
28
+ from seleniumbase.fixtures import shared_utils
29
+
28
30
  start_ms = time.time() * 1000.0
29
31
  stop_ms = start_ms + (timeout * 1000.0)
30
32
  for x in range(int(timeout * 10)):
@@ -241,6 +243,8 @@ def escape_quotes_if_needed(string):
241
243
  def is_in_frame(driver):
242
244
  # Returns True if the driver has switched to a frame.
243
245
  # Returns False if the driver was on default content.
246
+ from seleniumbase.fixtures import shared_utils
247
+
244
248
  if shared_utils.is_cdp_swap_needed(driver):
245
249
  return False
246
250
  in_basic_frame = driver.execute_script(
@@ -1555,6 +1555,8 @@ def _reconnect_if_disconnected(driver):
1555
1555
  if (
1556
1556
  hasattr(driver, "_is_using_uc")
1557
1557
  and driver._is_using_uc
1558
+ and hasattr(driver, "_is_connected")
1559
+ and not driver._is_connected
1558
1560
  and hasattr(driver, "is_connected")
1559
1561
  and not driver.is_connected()
1560
1562
  ):
@@ -84,17 +84,6 @@ def fix_url_as_needed(url):
84
84
  return url
85
85
 
86
86
 
87
- def reconnect_if_disconnected(driver):
88
- if (
89
- hasattr(driver, "_is_using_uc")
90
- and driver._is_using_uc
91
- and hasattr(driver, "is_connected")
92
- and not driver.is_connected()
93
- ):
94
- with suppress(Exception):
95
- driver.connect()
96
-
97
-
98
87
  def is_cdp_swap_needed(driver):
99
88
  """
100
89
  When someone is using CDP Mode with a disconnected webdriver,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: seleniumbase
3
- Version: 4.32.10
3
+ Version: 4.32.10a2
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
@@ -127,7 +127,7 @@ Requires-Dist: allure-behave>=2.13.5; extra == "allure"
127
127
  Provides-Extra: coverage
128
128
  Requires-Dist: coverage>=7.6.1; python_version < "3.9" and extra == "coverage"
129
129
  Requires-Dist: pytest-cov>=5.0.0; python_version < "3.9" and extra == "coverage"
130
- Requires-Dist: coverage>=7.6.5; python_version >= "3.9" and extra == "coverage"
130
+ Requires-Dist: coverage>=7.6.4; python_version >= "3.9" and extra == "coverage"
131
131
  Requires-Dist: pytest-cov>=6.0.0; python_version >= "3.9" and extra == "coverage"
132
132
  Provides-Extra: flake8
133
133
  Requires-Dist: mccabe==0.7.0; extra == "flake8"
@@ -3,7 +3,7 @@ sbase/__main__.py,sha256=G0bVB1-DM4PGwQ1KyOupaWCs4ePbChZNNWuX2htim5U,647
3
3
  sbase/steps.py,sha256=bKT_u5bJkKzYWEuAXi9NVVRYYxQRCM1_YJUrNFFRVPY,42865
4
4
  seleniumbase/__init__.py,sha256=OtJh8nGKL4xtZpw8KPqmn7Q6R-86t4cWUDyVF5MbMTo,2398
5
5
  seleniumbase/__main__.py,sha256=dn1p6dgCchmcH1zzTzzQvFwwdQQqnTGH6ULV9m4hv24,654
6
- seleniumbase/__version__.py,sha256=EprvPOPeyt2vgaXwlIQ3r-LOIidKOMXwSmL8ZGhDzGs,47
6
+ seleniumbase/__version__.py,sha256=DhXDI1N_CDARJMnRISb4c1sjUq05uNArv7Z4T6iANno,49
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=-hza7Nx2U41mSObYiPMi48v3JlPh3sJO3yzP0kqZ1Gk,59174
@@ -36,7 +36,7 @@ seleniumbase/console_scripts/sb_print.py,sha256=tNy-bMDgwHJO3bZxMpmo9weSE8uhbH0C
36
36
  seleniumbase/console_scripts/sb_recorder.py,sha256=1oAA4wFzVboNhIFDwJLD3jgy9RuoavywKQG7R67bNZE,10908
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=FkUH7Q1VdUuvL7IMnz3ajIX0Ii3wSN8D4_XjE40aoYw,219757
39
+ seleniumbase/core/browser_launcher.py,sha256=fsq6Ip_2C5Ih_TsOr5-5kU1gPS0mSwG_2DkJbMB_Is0,219081
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
@@ -50,8 +50,8 @@ seleniumbase/core/proxy_helper.py,sha256=cXhu8ErK9Vjdm82RMaQj7hEq_yUWizSp6LyiD50
50
50
  seleniumbase/core/recorder_helper.py,sha256=fNGjbapXmEsht54x1o6Igk198QdnPxDDnjUOzQxNhNQ,25055
51
51
  seleniumbase/core/report_helper.py,sha256=AIl6Qava2yW1uSzbLpJBlPlYDz0KE-rVhogh8hsGWBo,12201
52
52
  seleniumbase/core/s3_manager.py,sha256=bkeI8I4y19ebWuQG1oEZV5qJbotC6eN8vin31OCNWJk,3521
53
- seleniumbase/core/sb_cdp.py,sha256=ZppRZe-YtJ_e_lUC9yfWg-LN5IL9mDEgTQixVZfVDDQ,60593
54
- seleniumbase/core/sb_driver.py,sha256=xMgtvBitEMr73RkqgQLT-3IvkP6sh7cJv-caCUPoO-o,12179
53
+ seleniumbase/core/sb_cdp.py,sha256=CPQvyJ8v_xozVdGt5g9JFjo0aYsLaOEm9gnthpysrOc,59586
54
+ seleniumbase/core/sb_driver.py,sha256=Yd9BpjnOUuZqYRGmsERVKc1W-e8qwTt7SAytLatkXPA,12070
55
55
  seleniumbase/core/session_helper.py,sha256=s9zD3PVZEWVzG2h81cCUskbNWLfdjC_LwwQjKptHCak,558
56
56
  seleniumbase/core/settings_parser.py,sha256=KokVXpCiGZhJ-D4Bo-hizPz5r-iefzWoiTANu9zNaq4,7504
57
57
  seleniumbase/core/style_sheet.py,sha256=tPpJ1xl6Kuw425Z-3Y0OgVRLGXk_ciBDREZjXk_NuPE,11395
@@ -65,14 +65,14 @@ seleniumbase/extensions/disable_csp.zip,sha256=YMifIIgEBiLrEFrS1sfW4Exh4br1V4oK1
65
65
  seleniumbase/extensions/recorder.zip,sha256=OOyzF-Ize2cSRu1CqhzSAq5vusI9hqLLd2OIApUHesI,11918
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=LHDJZlL0aRzi4XyIXrds0xl84_eFllI_jpEcE3zSj5o,713463
69
- seleniumbase/fixtures/constants.py,sha256=HdNtH4rXT_wRpRCtj6jF2jZ5z_0Xs4nveKRXDg3bZZE,13649
68
+ seleniumbase/fixtures/base_case.py,sha256=ad--jkCZk2CTzXXk4_ncrI8nqWgHhGPjVmS3vHhnplQ,712849
69
+ seleniumbase/fixtures/constants.py,sha256=XYYMpB-ZDI756LvfhSK9RxdqQ_qO9fJVXgBqBYlQNkk,13609
70
70
  seleniumbase/fixtures/css_to_xpath.py,sha256=9ouDB1xl4MJ2os6JOgTIAyHKOQfuxtxvXC3O5hSnEKA,1954
71
71
  seleniumbase/fixtures/errors.py,sha256=KyxuEVx_e3MPhVrJfNIa_3ltMpbCFxfy_jxK8RFNTns,555
72
- seleniumbase/fixtures/js_utils.py,sha256=2l4UY_zUBsMviRoJpLA0z3XxhGeLMWj0Mv07FUR_jzg,50939
73
- seleniumbase/fixtures/page_actions.py,sha256=dbp63c-7asYZyd8aOu57Y3dxQQozp_VJsP5h74s1kBA,66552
72
+ seleniumbase/fixtures/js_utils.py,sha256=5o4CTLcCyd717lJ_atOYcC6kPRiZFx-LJIlixRrP_cE,51061
73
+ seleniumbase/fixtures/page_actions.py,sha256=fOCb2NB2PpEaE8gpAVu-73VjwLzfwP1R9HsRkix_z6s,66634
74
74
  seleniumbase/fixtures/page_utils.py,sha256=5m7iXpikLs80TJoRO6_gEfXE1AKeQgcH1aFbR8o1C9A,12034
75
- seleniumbase/fixtures/shared_utils.py,sha256=WbPb15IvIWzRtMInKG8DUzJ26UZU-PixdOwTCjXQirU,7545
75
+ seleniumbase/fixtures/shared_utils.py,sha256=MwCrt58YAv_XrfNfYjo_quUTWfYArlnf-aexSZGIyRs,7271
76
76
  seleniumbase/fixtures/unittest_helper.py,sha256=sfZ92rZeBAn_sF_yQ3I6_I7h3lyU5-cV_UMegBNoEm8,1294
77
77
  seleniumbase/fixtures/words.py,sha256=FOA4mAYvl3EPVpBTvgvK6YwCL8BdlRCmed685kEe7Vg,7827
78
78
  seleniumbase/fixtures/xpath_to_css.py,sha256=lML56k656fElXJ4NJF07r35FjctrbgQkXUotNk7A-as,8876
@@ -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.32.10.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
139
- seleniumbase-4.32.10.dist-info/METADATA,sha256=PBD6feJ0a7cOUVtkmkomDeGJJaKnkXfRY9zoKoW0aNs,86462
140
- seleniumbase-4.32.10.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
141
- seleniumbase-4.32.10.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
- seleniumbase-4.32.10.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
- seleniumbase-4.32.10.dist-info/RECORD,,
138
+ seleniumbase-4.32.10a2.dist-info/LICENSE,sha256=odSYtWibXBnQ1gBg6CnDZ82n8kLF_if5-2nbqnEyD8k,1085
139
+ seleniumbase-4.32.10a2.dist-info/METADATA,sha256=0JyQxemq40Q9x2UAb9NuhSv78XL2Kjg7VsnDCxvBhqw,86464
140
+ seleniumbase-4.32.10a2.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
141
+ seleniumbase-4.32.10a2.dist-info/entry_points.txt,sha256=CNrh2EKNaHYEhO6pP1RJyVLB99LkDDYX7TnUK8xfjqk,623
142
+ seleniumbase-4.32.10a2.dist-info/top_level.txt,sha256=4N97aBOQ8ETCnDnokBsWb07lJfTaq3C1ZzYRxvLMxqU,19
143
+ seleniumbase-4.32.10a2.dist-info/RECORD,,